Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 多个事件全部触发后如何调用函数_Javascript_Node.js - Fatal编程技术网

Javascript 多个事件全部触发后如何调用函数

Javascript 多个事件全部触发后如何调用函数,javascript,node.js,Javascript,Node.js,基本上我想要这样的东西(现在肯定不行)。 我可以使用事件使res.send()在所有client.get()完成后发生吗 var events = require('events'); var eventEmitter = new events.EventEmitter(); var response = {}; var ids = [...]; for (id in ids) { this.client.get(id1, function(err, obj) { if (!er

基本上我想要这样的东西(现在肯定不行)。 我可以使用事件使
res.send()
在所有
client.get()完成后发生吗

var events = require('events');
var eventEmitter = new events.EventEmitter();

var response = {};
var ids = [...];

for (id in ids) {
  this.client.get(id1, function(err, obj) {
    if (!err) {
      response[id.toString()] = obj;
    }
  });
}

res.send({
  response
});
使用,Promise.all(iterable)方法返回一个承诺,当iterable参数中的所有承诺都已解决时,该承诺将得到解决,或者由于第一个通过的承诺被拒绝而拒绝

var events=require('events');
var eventEmitter=new events.eventEmitter();
var响应={};
变量ID=[…];
var promiseArr=[];
用于(id中的id){
var prom=新承诺(功能(解决、拒绝){
this.client.get(id1,函数(err,obj){
如果(!err){
响应[id.toString()]=obj;
解决();
}
});
})
承诺推送(prom);
}
promiseArr.then(函数){
res.send({
答复:答复
});
})
使用,Promise.all(iterable)方法返回一个承诺,当iterable参数中的所有承诺都已解决时,该承诺将得到解决,或者由于第一个通过的承诺被拒绝而拒绝

var events=require('events');
var eventEmitter=new events.eventEmitter();
var响应={};
变量ID=[…];
var promiseArr=[];
用于(id中的id){
var prom=新承诺(功能(解决、拒绝){
this.client.get(id1,函数(err,obj){
如果(!err){
响应[id.toString()]=obj;
解决();
}
});
})
承诺推送(prom);
}
promiseArr.then(函数){
res.send({
答复:答复
});
})
@xgwang,很高兴能帮忙!很好的提示,但是MSIE(最多11个)不支持Promise对象。@xgwang,很高兴提供帮助!很好的提示,但是MSIE(最多11个)不支持Promise对象。请参阅: