<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # EventDispatcher 消息分發器 ```php /** * 事件處理 */ public function http_getEvent() { $data = yield EventDispatcher::getInstance()->addOnceCoroutine('unlock')->setTimeout(25000); //這里會等待事件到達,或者超時 $this->http_output->end($data); } public function http_sendEvent() { EventDispatcher::getInstance()->dispatch('unlock', 'hello block'); $this->http_output->end('ok'); } ``` 上述代碼getEvent描述的是等待事件的到達,事件超時時間為25s。 sendEvent代表是一個事件的派發。 訪問getEvent游覽器會一直等待25s直到超時,期間如果訪問sendEvent那么getEvent接口會立即返回'hello block'。 ## addOnceCoroutine ``` function addOnceCoroutine($eventType) ``` 協程的方式等待一次事件,事件到達自動清除事件的監聽。 ## dispatch 發送一次事件,支持集群模式。發送的data會自動序列化。 ``` function dispatch($type, $data = null, $onlyMyWorker = false, $fromDispatch = false) ``` onlyMyWorker為true代表只在本進程派發事件。 fromDispatch請保持一直為false。 ## randomDispatch ``` function randomDispatch($type, $data = null) ``` 隨機選取一個進程派發,只支持本地,不支持集群。 ## add ``` function add($type, $listener) ``` 回調的方式監聽一個事件,用次方式不會自動清除事件的關聯,會永久的監聽這個事件。 ## remove ``` function remove($type, $listener) ``` 移除一個事件的監聽 ## removeAll ``` function removeAll($type = null) ``` 移除這個類型的所有事件 # 應用場景 事件的應用場景非常靈活,可以實現高性能業務毫秒定時器,可以實現高性能堵塞方式的http請求。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看