我正在替换一些使用 jQuery Deferred 对象的旧代码,并且正在使用 Bluebird/ES6 Promises 重写。
如果我有多个异步调用,在解决所有承诺后如何触发一个函数。
使用 jQuery Deferreds 会是这样的:
var requests = [...]; //some arbitrary data that is iterated to generate multiple ajax requests
var promises = [];
resuests.forEach(function(endpoint) {
promises.push($.ajax({url: endpoint}));
});
$.when.apply($, promises).then(function() {
alert('all promises complete!');
});
如何使用 ES6 Promise 语法重写它?