Как запустить после того, как все обещания javascript ES6 решены

Я нахожусь в процессе замены старого кода, который использовал 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?

Ответы на вопрос(2)

Ваш ответ на вопрос