如何检查node.js中的两个事件

我正在寻找一个function,但只有当两个或多个事件已经发射。 有没有内置的方式来做到这一点?

这里有一个事件:

setup.on('api routes ready', function () { console.log('Yay!'); }); 

我怎样才能做到这一点:

 setup.on('api routes ready', 'website routes ready', function () { console.log('Yay!'); }); 

任何想法将摇滚!

最好做一个库,如具有适当function的async 。

这样,您可以select是并行执行还是串行执行,如果是并行执行,那么您可以定义一个callback函数,只有在所有函数完成后才能运行。

虽然@ HeadCode的代码可以工作,但是不能很好地扩展,很容易犯一个错误。

这是(未经testing)的开始。

 var waitForIt = (function(){ var api_ready = false; var web_ready = false; return function(event){ if (event === 'api routes ready'){ api_ready = true; } if(event === 'web routes ready'){ web_ready = true; } if(api_ready && web_ready){ console.log('Yay!'); } } })(); setup.on('api routes ready', function () { waitForIt('api routes ready'); }); setup.on('web routes ready', function () { waitForIt('web routes ready'); });