最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

從零開始學(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段點續(xù)傳:Nginx配置文件分段下載功能的實現(xiàn)方法

    Node.JS段點續(xù)傳:Nginx配置文件分段下載功能的實現(xiàn)方法

    在Node.JS中可以配置這個標(biāo)簽來實現(xiàn)文件的分段下載。這篇文章給大家介紹了Node.JS段點續(xù)傳:Nginx配置文件分段下載功能的實現(xiàn)方法,需要的朋友參考下吧
    2018-03-03
  • node 解析圖片二維碼的內(nèi)容代碼實例

    node 解析圖片二維碼的內(nèi)容代碼實例

    這篇文章主要介紹了node 解析圖片二維碼的內(nèi)容代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09
  • Egret引擎開發(fā)指南之編譯項目

    Egret引擎開發(fā)指南之編譯項目

    Egret框架是一個基于MIT開源協(xié)議許可的永久免費(fèi)的項目!你可以在項目中隨意使用且修改它,并且擁有100%的控制權(quán)。你可以從Egret的Github網(wǎng)站獲取它的源代碼,從而了解和學(xué)習(xí)它的核心細(xì)節(jié)。Egret具有完善的文檔,并且易于上手學(xué)習(xí),可以讓你更容易專注于游戲本身的開發(fā)
    2014-09-09
  • 進(jìn)階之初探nodeJS

    進(jìn)階之初探nodeJS

    本文主要介紹了nodeJS的相關(guān)知識。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-01-01
  • 究竟什么是Node.js?Node.js有什么好處?

    究竟什么是Node.js?Node.js有什么好處?

    這篇文章主要介紹了究竟什么是Node.js?Node.js有什么好處?,為試圖解釋什么是 Node.js,本文將簡要介紹一些背景信息:它要解決的問題,它如何工作,如何運(yùn)行一個簡單應(yīng)用程序,最后,Node 在什么情況下是一個好的解決方案,需要的朋友可以參考下
    2015-05-05
  • npm install --save 、--save-dev 、-D、-S 的區(qū)別與NODE_ENV的配置方法

    npm install --save 、--save-dev 、-D、-S&nb

    這篇文章主要介紹了npm install --save 、--save-dev 、-D、-S 的區(qū)別與NODE_ENV的配置方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08
  • node命令以及切換node版本詳細(xì)步驟

    node命令以及切換node版本詳細(xì)步驟

    這篇文章主要給大家介紹了關(guān)于node命令以及切換node版本的相關(guān)資料,在使用node命令切換node版本時可以使用nvm(Node?Version?Manager)工具來管理不同版本的node,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • 使用forever管理nodejs應(yīng)用教程

    使用forever管理nodejs應(yīng)用教程

    這篇文章主要介紹了使用forever管理nodejs應(yīng)用教程,本文介紹了forever的安裝、常用命令等,最有用的莫過于文件改動監(jiān)聽并自動重啟了,這可以增加開nodejs應(yīng)用的效率,需要的朋友可以參考下
    2014-06-06
  • Node.js 使用request模塊下載文件的實例

    Node.js 使用request模塊下載文件的實例

    今天小編就為大家分享一篇Node.js 使用request模塊下載文件的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • 從Node.js事件觸發(fā)器到Vue自定義事件的深入講解

    從Node.js事件觸發(fā)器到Vue自定義事件的深入講解

    這篇文章主要給大家介紹了關(guān)于從Node.js事件觸發(fā)器到Vue自定義事件的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06

最新評論

宾川县| 广元市| 开平市| 甘孜| 新疆| 清苑县| 阿拉善右旗| 永登县| 保德县| 乌苏市| 宜良县| 东阿县| 阿鲁科尔沁旗| 龙游县| 太原市| 金塔县| 叙永县| 泗阳县| 沙雅县| 北安市| 房产| 廉江市| 乌拉特后旗| 赤城县| 都匀市| 乐平市| 太仆寺旗| 临夏市| 凤台县| 阿克苏市| 平潭县| 阿勒泰市| 五大连池市| 瑞丽市| 若羌县| 依安县| 黔西县| 深州市| 井冈山市| 论坛| 颍上县|