我遇到了什麼似乎是節點JS初學者和異步請求的傳統問題。NodeJS與異步請求
我有未知數量的用戶生成的URL,隨後存儲在我的Node JS服務器上的數組中。 Node JS服務器必須遍歷這些URL,依次向每個請求。它必須按順序執行,並且必須等待每個響應,然後才能轉到下一個URL(當發出新請求時)。最終的結果應該是所有響應(恰好是JSON)的有序集合,很好地作爲JSON對象一起存儲起來,而這些JSON對象又可以在準備就緒時發送回客戶端。
我想我應該使用async
NodeJS庫,並且我已經使用needle
來提出請求。
URLs = ["http://a", "http://s", "http://d"];
async.eachSeries(URLs, function (URL, callback) { ..... });
我不清楚如何使用異步以確保針請求已完成,並移動到下一個URL請求之前相應的存儲響應。以下是我的Needle請求的示例。
needle.get(URL, options, function(error, response, body){ ... });
對整個問題的部分或完整解決方案是受歡迎的。
我在這裏使用了遞歸方法:http://stackoverflow.com/a/6048595/2063246(完全適合我) – Halogen
我會在可能的情況下推薦承諾 – jtromans