我有两个函数,函数submitCallbackInfo是循环中的回调函数,而XYZ。我只想在接收到来自XYZ的所有数据后执行submitCallbackInfo而不使用超时或jQuery。

for (var i = 0; i < 10; i++) {
  var id;
  myHttp1.connect(url, 'GET', data, submitCallbackInfo);
}

setTimeout(XYZ, 5000);


我真正想要的是仅在XYZ执行10次时才调用submitCallbackInfo函数。

最佳答案

counter功能中检查callback的值


var length = 10;
var count = 0;

function submitCallbackInfo() {
  if (++count === length) {
    createC2VCall();
  }
}

for (var i = 0; i < length; i++) {
  myHttp1.connect(url, 'GET', data, submitCallbackInfo);
}


如果Promise返回myHttp1.connect,则可以使用Promise-object

07-24 09:30