我想同时发送一个动态数量的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 –
相应地编辑 –