欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

從零開始學(xué)習(xí)Node.js系列教程六:EventEmitter發(fā)送和接收事件的方法示例

 更新時間:2017年04月13日 14:15:49   作者:MIN飛翔  
這篇文章主要介紹了Node.js EventEmitter發(fā)送和接收事件的方法,結(jié)合實例形式分析了EventEmitter發(fā)送和接收事件的原理、實現(xiàn)方法與相關(guān)操作技巧,需要的朋友可以參考下

本文實例講述了Node.js EventEmitter發(fā)送和接收事件的方法。分享給大家供大家參考,具體如下:

pulser.js

/*
 EventEmitter發(fā)送和接收事件
 HTTPServer和HTTPClient類,它們都繼承自EventEmitter
 EventEmitter被定義在Node的事件(events)模塊中,直接使用EventEmitter類需要先聲明require('events'),
 否則不必顯式聲明require('events'),因為Node中很多對象都無需你調(diào)用require('events')就會使用EventEmitter
 */
var events = require('events');
var util = require('util');
function Pulser(){
  events.EventEmitter.call(this);
}
util.inherits(Pulser, events.EventEmitter);
Pulser.prototype.start = function(){
  var self = this;
  this.id = setInterval(function(){
    util.log('>>>>pulse');
    self.emit('pulse');
    util.log('<<<<pulse');
  }, 1000);
}
//定義了一個類Pulser,該類(通過util.inherits)繼承自EventEmitter,它的作用是每隔一秒鐘向所有監(jiān)聽器發(fā)送一個定時事件。
//start方法使用了setInterval這個函數(shù)來定期重復(fù)執(zhí)行回調(diào)函數(shù),并調(diào)用emit方法將pulse事件發(fā)送給每一個監(jiān)聽器
//使用Pulser對象
/*
創(chuàng)建了一個Pulser對象并處理其pulse事件,執(zhí)行pulser.on('pulse'..)為pulse事件和回調(diào)函數(shù)建立聯(lián)系
 */
var pulser = new Pulser();
pulser.on('pulse', function(){
  util.log('pulse received');
});
pulser.start();
//對象使用emit函數(shù)發(fā)送事件,所有注冊到對應(yīng)事件的監(jiān)聽器都可以收到事件;
//通過調(diào)用.on方法注冊監(jiān)聽器,參數(shù)是事件名,并用一個回調(diào)函數(shù)接收事件
//通常來說,有一些數(shù)據(jù)需要伴隨著事件同時發(fā)送 self.emit('eventName', data1, data2, ..);
//emitter.on('eventName', function(data1, data2,..){
    //接收到事件后的操作
// });

每秒輸出一次

希望本文所述對大家nodejs程序設(shè)計有所幫助。

相關(guān)文章

  • Node.js中使用socket創(chuàng)建私聊和公聊聊天室

    Node.js中使用socket創(chuàng)建私聊和公聊聊天室

    這篇文章主要介紹了Node.js中使用socket創(chuàng)建私聊和公聊聊天室的相關(guān)資料,需要的朋友可以參考下
    2015-11-11
  • node連接MongoDB數(shù)據(jù)庫錯誤:MongoServerSelectionError:?connect?ECONNREFUSED?::1:27017(解決方案)

    node連接MongoDB數(shù)據(jù)庫錯誤:MongoServerSelectionError:?connect?ECON

    使用node連接MongoDB數(shù)據(jù)庫時發(fā)生報錯,MongoServerSelectionError:?connect?ECONNREFUSED?::1:27017,本文給大家分享原因分析及解決方案,感興趣的朋友跟隨小編一起看看吧
    2023-04-04
  • 支持cjs及esm的npm包實現(xiàn)示例詳解

    支持cjs及esm的npm包實現(xiàn)示例詳解

    這篇文章主要為大家介紹了支持cjs及esm的npm包的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • Node.js編程中客戶端Session的使用詳解

    Node.js編程中客戶端Session的使用詳解

    這篇文章主要介紹了Node.js編程中客戶端Session的使用詳解,是Node.js入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-06-06
  • Node.js原生api搭建web服務(wù)器的方法步驟

    Node.js原生api搭建web服務(wù)器的方法步驟

    這篇文章主要介紹了Node.js原生api搭建web服務(wù)器的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02
  • Node Sass依賴問題排查思路解析

    Node Sass依賴問題排查思路解析

    這篇文章主要為大家介紹了Node Sass依賴問題排查思路解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • 安裝node-sass的方法步驟

    安裝node-sass的方法步驟

    本文主要介紹了安裝node-sass的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • node事件循環(huán)和process模塊實例分析

    node事件循環(huán)和process模塊實例分析

    這篇文章主要介紹了node事件循環(huán)和process模塊,結(jié)合實例形式分析了node事件循環(huán)和process模塊具體功能、使用方法及相關(guān)操作注意事項,需要的朋友可以參考下
    2020-02-02
  • Node.js中環(huán)境變量process.env的一些事詳解

    Node.js中環(huán)境變量process.env的一些事詳解

    這篇文章主要給大家介紹了關(guān)于Node.js中環(huán)境變量process.env的一些事,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用node.js具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-10-10
  • window系統(tǒng)管理多版本node的實現(xiàn)

    window系統(tǒng)管理多版本node的實現(xiàn)

    存在不同項目使用npm時所需要的版本不一致,又不想每次都卸載又重新安裝node,這時候就需要多版本管理器,本文主要介紹了window系統(tǒng)管理多版本node的實現(xiàn),感興趣的可以了解一下
    2024-02-02

最新評論