首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Node.js
Express
PPA for Ubuntu
ppa:chris-lea/node.js
TomVista
V2EX  ›  Node.js

node EventEmitter

  •  
  •   TomVista · 62 天前 · 3478 次点击
    这是一个创建于 62 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想在 event.emmit('eventName') 执行完异步事件之后 触发一个 end 事件,怎么做?

    暴露 event 给 listener 吗?

    const event = new (require('events').EventEmitter)
    event.on('name',(event)=>{
    	// dosomething
        setTimeout(()=>{
            ...
            event.emmit('nameEnd')
        },100)
        
    })
    
    event.on('nameEnd',()=>{
    	console.log(name)
    })
    
    event.emmit('name',event)
    
    1 条回复    2020-05-15 12:04:21 +08:00
    JayLin1011
        1
    JayLin1011   61 天前   ❤️ 1
    const EventEmitter = require('events');

    const event = new EventEmitter();

    event.on('eventEnd', () => {
    console.log('異步事件執行後觸發 eventEnd 事件');
    });

    event.on('eventAsync', function () {
    setImmediate(() => {
    console.log('異步事件觸發');
    // to do...
    this.emit('eventEnd');
    });
    });

    event.emit('eventAsync');
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4227 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 07:48 · PVG 15:48 · LAX 00:48 · JFK 03:48
    ♥ Do have faith in what you're doing.