我正在使用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