0
我想發出一個初始請求來獲取ID列表,然後爲每個單獨的ID發出請求並將JSON結果存儲在一個數組中。下面是代碼基礎:返回請求循環的結果
request(options, function(err, resp, body){
ids = (JSON.parse(body))[ids];
results=[];
for(id in ids){
options.path='/api/example/' + ids[id];
request(options, function(err, resp, body){
results.push(JSON.parse(body));
})
}
res.send(results);
})
當我運行它,結果仍然是一個空數組,當我在內部請求功能把res.send(結果),它僅捕獲一個結果,而不是所有的人。有任何想法嗎?
感謝您的答覆!當我嘗試這樣做時,它給了我一個TypeError:Object [object Promise]沒有方法'resolve'。 – Keroles
@Keroles它是'deferred.resolve()',對不起。我已經更新了答案中的代碼片段。 –
這工作,我也移動了最後一部分(Q.all ...)以外的主要請求(以及延期和承諾變量),它似乎大多數時間工作(不一致可能與api我是合作)再次感謝您的幫助! – Keroles