如何等到回调完全完成
How to wait until a callback is fully finished?
本文关键字:回调 更新时间:2023-09-26
我有以下循环,发出 10 个请求。console.log
将从 1 打印到 10。如何修改此代码以仅打印出peopleProfile
(10( 的最终长度?
for (var i = 0; i < 10; i++) {
request(URL, function(err, response, body) {
if (err) {
console.log(err);
}
if (!err && response.statusCode == 200) {
peopleProfile.push(body);
console.log(peopleProfile.length);
}
});
}
你可以使用 Bluebird - 一个承诺库
var promises = [];
for (var i = 0; i < 10; ++i) {
promises.push(requestAsync(url));
}
Promise.all(promises).then(function() {
console.log("print this after finishing 10 requests");
});
有什么理由你不能这样做吗?
var completedRequests = 0;
for (var i = 0; i < 10; i++) {
request(URL, function(err, response, body) {
completedRequests++;
if (err) {
console.log(err);
}
if (!err && response.statusCode == 200) {
peopleProfile.push(body);
if (completedRequests === 10) {
console.log(peopleProfile.length);
}
}
});
}
相关文章:
- AngularJS:我可以跳过函数参数回调吗
- 要求未定义JS回调参数
- MeteorJS:在带有回调的vzaar api上正确使用wrapAsync
- 自引用回调
- 测试Angular Service解决错误回调中的promise
- 如何将一个JavaScript函数回调为多个函数
- JavaScript回调函数
- 用于回调的javascript参数
- 将json回调数据转换为日期
- 承诺在非节点式回调上使用Bluebird
- 如何在回调函数中执行流
- 回调函数中传递参数的困难(Google Map API Markers)
- Soundcloud Javascript SDK 3.0-回调无法读取属性'connectCallback
- 如何使用jqueryAJAX从页面中回调多个变量
- jquery Onclick函数带有导致双击的回调排序函数
- Javascript点击事件回调不起作用
- 一旦加载并渲染了角度引导typeahead,就使用回调
- 成功回调永远不会被JSONP请求调用
- 如何让程序员在javascript中实现正确的回调
- Angularjs使用“;这个“;promise内的关键字回调