Cómo ejecutar después de que se resuelvan todas las promesas de javascript ES6
Estoy en el proceso de reemplazar un código antiguo que usaba objetos jQuery diferidos y estoy reescribiendo usando Bluebird / ES6 Promises.
Si tengo varias llamadas asincrónicas, ¿cómo puedo activar una función después de que se resuelvan todas las promesas?
Usando jQuery Deferreds sería algo como esto:
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!');
});
¿Cómo reescribo esto usando la sintaxis de ES6 Promise?