我有以下循环提出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);
}
});
}
你不能这样做异步和循环,你基本上做10个请求同时,不是按顺序。 – elclanrs
你能指出一个更好的方法来解决这个问题吗?我想提出10个请求并将每个请求的响应存储到'peopleProfile'。 – Bun
我的目标是像'sequence(range(1,10).map(request(url))',其中'request(url)'返回一个promise,'sequence'接受一个promise数组并运行它们 – elclanrs