Javascript 如何在node.js中检查两个事件
我希望启动一个函数,但只有在启动了两个或多个事件时。有没有一种内置的方法可以做到这一点 以下是一个事件:Javascript 如何在node.js中检查两个事件,javascript,node.js,events,Javascript,Node.js,Events,我希望启动一个函数,但只有在启动了两个或多个事件时。有没有一种内置的方法可以做到这一点 以下是一个事件: setup.on('api routes ready', function () { console.log('Yay!'); }); 我如何做到这一点: setup.on('api routes ready', 'website routes ready', function () { console.log('Yay!'); }); 任何想法都会很好 这是一个未经测试的开始
setup.on('api routes ready', function () {
console.log('Yay!');
});
我如何做到这一点:
setup.on('api routes ready', 'website routes ready', function () {
console.log('Yay!');
});
任何想法都会很好 这是一个未经测试的开始
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');
});
这是一个未经考验的开端
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');
});
最好使用具有适当功能的库 有了它,您可以选择是并行执行还是串行执行函数,如果是并行执行,则可以定义一个回调函数,该回调函数只能在所有函数完成后运行
虽然@HeadCode的代码可以工作,但它的伸缩性不好,很容易出错。最好使用具有适当功能的库 有了它,您可以选择是并行执行还是串行执行函数,如果是并行执行,则可以定义一个回调函数,该回调函数只能在所有函数完成后运行
虽然@HeadCode的代码可以工作,但它的伸缩性不好,很容易出错。您可能需要创建一个标志来显示第一个事件何时触发,所以当第二个事件触发时,您可以识别这一点。您可能需要创建一个标志来显示第一个事件何时触发,所以当第二个事件触发时,您认识到这一点。问题,async中的类型是否被节点的eventEmitter类吸收了?好问题。但我不这么认为,他们似乎想保持节点本身相当轻。我想这真的是一个不同的用例。异步和类似的库只是方便地添加到节点的本机异步特性上。它们大大简化了您自己的代码。你可能可以用事件来做这件事,但我认为它会更复杂。我正在尝试自己做这件事,这很有趣,迫使你以一些非常奇怪和有趣的方式使用JavaScript。闭包、&&’等。问题,异步中的类型是否被节点的eventEmitter类吸收了?好问题。但我不这么认为,他们似乎想保持节点本身相当轻。我想这真的是一个不同的用例。异步和类似的库只是方便地添加到节点的本机异步特性上。它们大大简化了您自己的代码。你可能可以用事件来做这件事,但我认为它会更复杂。我正在尝试自己做这件事,这很有趣,迫使你以一些非常奇怪和有趣的方式使用JavaScript。闭包、和等等。