我在nodejs中使用请求库。我需要在请求中调用新的url,但我无法加入响应,因为它是异步的。如何发送变量a,如以下请求中所示,其中包含请求的请求结果。nodejs中的请求中的请求
request({
url: url,
json: true
}, function (error, response, body) {
var a = [];
a.push(response);
for (i = 0; i < a.length; i++) {
if (a.somecondition === "rightcondition") {
request({
url: url2,
json: true
}, function (error, response, body) {
a.push(response);
});
}
}
res.send(a);
});
将res.send移动到第二个a.push下方。你需要什么? – spiritwalker
@spiritwalker第二次请求中有条件。编辑 – kinkajou
没有问题,如果有条件或没有,你需要确保res.send不会触发外部的第二个回调。因此,在编辑中移动res.send旁边的for循环 – spiritwalker