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

node.js中的emitter.emit方法使用說明

 更新時(shí)間:2014年12月10日 09:46:31   投稿:junjie  
這篇文章主要介紹了node.js中的emitter.emit方法使用說明,本文介紹了emitter.emit的方法說明、語法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下

方法說明:

發(fā)射event事件,傳遞若干可選參數(shù)到事件監(jiān)聽器的參數(shù)表。

語法:

復(fù)制代碼 代碼如下:

emitter.emit(event, [arg1], [arg2], [...])

接收參數(shù):

event                      事件類型

arg1 ~ argN           傳遞的參數(shù)(多個(gè))

例子:

復(fù)制代碼 代碼如下:

var  events = require('events');
var emitter = new events.EventEmitter();
 
emitter.on('someEvent', function(arg1, arg2){
    console.log('listener1', arg1, arg2);
})
 
emitter.on('someEvent', function(arg1, arg2){
    console.log('listener2', arg1, arg2);
})
 
emitter.emit('someEvent', 'byvoid', 1991);

源碼:

復(fù)制代碼 代碼如下:

EventEmitter.prototype.emit = function(type) {
  var er, handler, len, args, i, listeners;
  if (!this._events)
    this._events = {};
  // If there is no 'error' event listener then throw.
  if (type === 'error') {
    if (!this._events.error ||
        (util.isObject(this._events.error) && !this._events.error.length)) {
      er = arguments[1];
      if (this.domain) {
        if (!er) er = new TypeError('Uncaught, unspecified "error" event.');
        er.domainEmitter = this;
        er.domain = this.domain;
        er.domainThrown = false;
        this.domain.emit('error', er);
      } else if (er instanceof Error) {
        throw er; // Unhandled 'error' event
      } else {
        throw TypeError('Uncaught, unspecified "error" event.');
      }
      return false;
    }
  }
  handler = this._events[type];
  if (util.isUndefined(handler))
    return false;
  if (this.domain && this !== process)
    this.domain.enter();
  if (util.isFunction(handler)) {
    switch (arguments.length) {
      // fast cases
      case 1:
        handler.call(this);
        break;
      case 2:
        handler.call(this, arguments[1]);
        break;
      case 3:
        handler.call(this, arguments[1], arguments[2]);
        break;
      // slower
      default:
        len = arguments.length;
        args = new Array(len - 1);
        for (i = 1; i < len; i++)
          args[i - 1] = arguments[i];
        handler.apply(this, args);
    }
  } else if (util.isObject(handler)) {
    len = arguments.length;
    args = new Array(len - 1);
    for (i = 1; i < len; i++)
      args[i - 1] = arguments[i];
    listeners = handler.slice();
    len = listeners.length;
    for (i = 0; i < len; i++)
      listeners[i].apply(this, args);
  }
  if (this.domain && this !== process)
    this.domain.exit();
  return true;
};

相關(guān)文章

  • 運(yùn)行Node.js的IIS擴(kuò)展iisnode安裝配置筆記

    運(yùn)行Node.js的IIS擴(kuò)展iisnode安裝配置筆記

    這篇文章主要介紹了運(yùn)行Node.js的IIS擴(kuò)展iisnode安裝配置筆記,iisnode的擴(kuò)展可以把Node.js程序托管到IIS,托管之后也意味著可以使用IIS里面的各種功能,需要的朋友可以參考下
    2015-03-03
  • 深入理解Node.js回調(diào)函數(shù)

    深入理解Node.js回調(diào)函數(shù)

    這篇文章主要介紹了Node.js回調(diào)函數(shù),為了解決回調(diào)函數(shù)的缺點(diǎn),出現(xiàn)了一些替代方案,如Promise、async/await等,這些方案提供了更簡潔、可讀性更高的代碼結(jié)構(gòu),使異步編程更加容易和可維護(hù),需要的朋友可以參考下
    2023-11-11
  • 使用Node.js搭建Vue項(xiàng)目的詳細(xì)步驟

    使用Node.js搭建Vue項(xiàng)目的詳細(xì)步驟

    Vue.js 是一款流行的 JavaScript 框架,而 Node.js 提供了一個(gè)強(qiáng)大的運(yùn)行環(huán)境,兩者的結(jié)合使得開發(fā)者可以輕松構(gòu)建現(xiàn)代化的前端項(xiàng)目,本文將介紹如何使用 Node.js 搭建一個(gè)基本的 Vue 項(xiàng)目,需要的朋友可以參考下
    2023-12-12
  • 詳解Nodejs基于mongoose模塊的增刪改查的操作

    詳解Nodejs基于mongoose模塊的增刪改查的操作

    本篇文章主要介紹了Nodejs基于mongoose模塊的增刪改查的操作,Mongoose是MongoDB的一個(gè)對(duì)象模型工具,封裝了MongoDB對(duì)文檔的的一些增刪改查等常用方法,讓NodeJS操作Mongodb數(shù)據(jù)庫變得更加靈活簡單。
    2016-12-12
  • Node.js連接postgreSQL并進(jìn)行數(shù)據(jù)操作

    Node.js連接postgreSQL并進(jìn)行數(shù)據(jù)操作

    自從MySQL被Oracle收購以后,PostgreSQL逐漸成為開源關(guān)系型數(shù)據(jù)庫的首選。這篇文章就給大家介紹了關(guān)于Node.js如何連接postgreSQL數(shù)據(jù)庫,并進(jìn)行數(shù)據(jù)操作的方法,有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-12-12
  • 基于NodeJS的前后端分離的思考與實(shí)踐(一)全棧式開發(fā)

    基于NodeJS的前后端分離的思考與實(shí)踐(一)全棧式開發(fā)

    這個(gè)話題最近被討論得比較多,阿里有些BU也在進(jìn)行一些嘗試。討論了很久之后,我們團(tuán)隊(duì)決定探索一套基于NodeJS的前后端分離方案,過程中有一些不斷變化的認(rèn)識(shí)以及思考,記錄在這里,也希望看到的同學(xué)參與討論,幫我們完善。
    2014-09-09
  • 詳解HTTPS 的原理和 NodeJS 的實(shí)現(xiàn)

    詳解HTTPS 的原理和 NodeJS 的實(shí)現(xiàn)

    這篇文章主要介紹了詳解HTTPS 的原理和 NodeJS 的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-07-07
  • nodejs同步調(diào)用獲取mysql數(shù)據(jù)時(shí)遇到的大坑

    nodejs同步調(diào)用獲取mysql數(shù)據(jù)時(shí)遇到的大坑

    今天小編就為大家分享一篇關(guān)于nodejs同步調(diào)用獲取mysql數(shù)據(jù)時(shí)遇到的大坑,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • 詳解Node.js實(shí)現(xiàn)301、302重定向服務(wù)

    詳解Node.js實(shí)現(xiàn)301、302重定向服務(wù)

    這篇文章主要介紹了詳解Node.js實(shí)現(xiàn)301、302重定向服務(wù),詳細(xì)的介紹了用Nodejs的http模塊,實(shí)現(xiàn)一個(gè)301或302重定服務(wù)。
    2017-04-04
  • 淺談Node.js 子進(jìn)程與應(yīng)用場景

    淺談Node.js 子進(jìn)程與應(yīng)用場景

    這篇文章主要介紹了淺談Node.js 子進(jìn)程與應(yīng)用場景,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-01-01

最新評(píng)論

阳江市| 曲松县| 舞钢市| 新乡市| 卢氏县| 金溪县| 金堂县| 盐亭县| 平南县| 潼南县| 肇东市| 离岛区| 鹤壁市| 屏边| 定远县| 清水河县| 平乡县| 息烽县| 怀仁县| 嘉义县| 阳东县| 长岛县| 轮台县| 礼泉县| 建平县| 勐海县| 新兴县| 云浮市| 宁陕县| 博罗县| 波密县| 土默特左旗| 桓台县| 武夷山市| 昌平区| 弋阳县| 德保县| 威信县| 松桃| 长子县| 台中县|