<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之旅 廣告
                # 事件 (Events) ~~~ 穩定度: 4 - 凍結 ~~~ Node里面的許多對象都會分發事件:一個`net.Server`對象會在每次有新連接時分發一個事件, 一個`fs.readStream`對象會在文件被打開的時候發出一個事件。 所有這些產生事件的對象都是 `events.EventEmitter` 的實例。 你可以通過`require("events");`來訪問該模塊 通常,事件名是駝峰命名 (camel-cased) 的字符串。不過也沒有強制的要求,任何字符串都是可以使用的。 為了處理發出的事件,我們將函數 (Function) 關聯到對象上。 我們把這些函數稱為 *監聽器 (listeners)*。 在監聽函數中 `this` 指向當前監聽函數所關聯的 `EventEmitter` 對象。 ### 類: events.EventEmitter 通過 `require('events').EventEmitter` 獲取 EventEmitter 類。 當 `EventEmitter` 實例遇到錯誤,通常的處理方法是產生一個 `'error'` 事件,node 對錯誤事件做特殊處理。 如果程序沒有監聽錯誤事件,程序會按照默認行為在打印出 棧追蹤信息 (stack trace) 后退出。 EventEmitter 會在添加 listener 時觸發 `'newListener'` 事件,刪除 listener 時觸發 `'removeListener'` 事件 ### emitter.addListener(event, listener) ### emitter.on(event, listener) 添加一個 listener 至特定事件的 listener 數組尾部。 ~~~ server.on('connection', function (stream) { console.log('someone connected!'); }); ~~~ 返回 emitter,方便鏈式調用。 ### emitter.once(event, listener) 添加一個 **一次性** listener,這個 listener 只會在下一次事件發生時被觸發一次,觸發完成后就被刪除。 ~~~ server.once('connection', function (stream) { console.log('Ah, we have our first user!'); }); ~~~ 返回 emitter,方便鏈式調用。 ### emitter.removeListener(event, listener) 從一個事件的 listener 數組中刪除一個 listener **注意**:此操作會改變 listener 數組中在當前 listener 后的listener 的位置下標 ~~~ var callback = function(stream) { console.log('someone connected!'); }; server.on('connection', callback); // ... server.removeListener('connection', callback); ~~~ 返回 emitter,方便鏈式調用。 ### emitter.removeAllListeners([event]) 刪除所有 listener,或者刪除某些事件 (event) 的 listener 返回 emitter,方便鏈式調用。 ### emitter.setMaxListeners(n) 在默認情況下,EventEmitter 會在多于 10 個 listener 監聽某個事件的時候出現警告,此限制在尋找內存泄露時非常有用。 顯然,也不是所有的 Emitter 事件都要被限制在 10 個 listener 以下,在這種情況下可以使用這個函數來改變這個限制。設置0這樣可以沒有限制。 返回 emitter,方便鏈式調用。 ### EventEmitter.defaultMaxListeners `emitter.setMaxListeners(n)` 設置每個 emitter 實例的最大監聽數。 這個類屬性為 **所有**`EventEmitter` 實例設置最大監聽數(對所有已創建的實例和今后創建的實例都將立即生效)。 使用時請注意。 請注意,`emitter.setMaxListeners(n)` 優先于 `EventEmitter.defaultMaxListeners`。 ### emitter.listeners(event) 返回指定事件的 listener 數組 ~~~ server.on('connection', function (stream) { console.log('someone connected!'); }); console.log(util.inspect(server.listeners('connection'))); // [ [Function] ] ~~~ ### emitter.emit(event, [arg1], [arg2], [...]) 使用提供的參數按順序執行指定事件的 listener 若事件有 listeners 則返回 `true` 否則返回 `false`。 ### 類方法: EventEmitter.listenerCount(emitter, event) 返回指定事件的 listeners 個數 ### 事件: 'newListener' - `event` {String} 事件名 - `listener` {Function} 事件處理函數 在添加 listener 時會發生該事件。 此時無法確定 `listener` 是否在 `emitter.listeners(event)` 返回的列表中。 ### 事件: 'removeListener' - `event` {String} 事件名 - `listener` {Function} 事件處理函數 在移除 listener 時會發生該事件。 此時無法確定 `listener` 是否在 `emitter.listeners(event)` 返回的列表中。
                  <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>

                              哎呀哎呀视频在线观看