TomVista
V2EX  ›  Node.js

node EventEmitter

  •  
  •   TomVista · May 14, 2020 · 4904 views
    This topic created in 2207 days ago, the information mentioned may be changed or developed.

    想在 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 replies    2020-05-15 12:04:21 +08:00
    JayLin1011
        1
    JayLin1011  
       May 15, 2020   ❤️ 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');
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2899 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 06:34 · PVG 14:34 · LAX 23:34 · JFK 02:34
    ♥ Do have faith in what you're doing.