我想同時發送一個動態數量的ajax請求,並且希望對它們全部進行回調(即回調到最後一個回調),但我使用的是node.js.我發現了一個jQuery版本來解決它在這裏 Pass in an array of Deferreds to $.when() 但我怎麼能在node.js做到這一點?
由於
我想同時發送一個動態數量的ajax請求,並且希望對它們全部進行回調(即回調到最後一個回調),但我使用的是node.js.我發現了一個jQuery版本來解決它在這裏 Pass in an array of Deferreds to $.when() 但我怎麼能在node.js做到這一點?
由於
Promise.all需要承諾的陣列,並返回陣列的無極。 node-fetch模塊可以用來異步發出HTTP請求(AJAX只是指瀏覽器執行的請求。)
Bluebird是一個nodejs Promise的polyfill。
喜歡的東西
var fetch = require('node-fetch'),
Promise = require('bluebird');
function fetchUrls(URLs) {
return Promise.all(URLs.map(function (URL) {
return fetch(URL).then(function (response) {
return response.json();
});
}));
}
fetchUrls(['url1','url2']).then(function (data) {
// do stuff with the result data here
});
我不明白的地方我可以加我的代碼執行的最後一個回調函數返回時。 – omega
添加一個「然後」回覆到承諾,hangon –
相應地編輯 –