我正在使用Express4构建NodeJS服务器。我使用这个服务器作为前端角应用和第三方API之间的中间人。 我创建了我的前端应用程序请求的某个路径,我希望在该路径上多次调用API并合并所有响应,然后发送响应结果。 我不知道如何做到这一点,因为我需要等到每个API调用完成。 示例代码:Node Express 4在多个API调用后发送响应
app.post('/SomePath', function(req, res) {
var merged = [];
for (var i in req.body.object) {
// APIObject.sendRequest uses superagent module to handle requests and responses
APIObject.sendRequest(req.body.object[i], function(err, result) {
merged.push(result);
});
}
// After all is done send result
res.send(merged);
});
正如你可以看到林取决于我内要求有多少APIObject.sendRequest收到的呼叫电话在一个循环中的API。
如何在完成所有操作并将API响应合并后发送响应?
谢谢。
问题是'APIObject.sendRequest'是异步的,所以'for'循环在实际请求完成之前结束? – Neta
这里有很多问题,这就是其中之一。有没有其他方法可以做到这一点? – StrikoMirko