Promise.all() - повертає Promise який чекає коли передані Promise будуть виконані.
Promise.all( iterable );
Promise - об'єкт Promise.
iterable - масив Promise.
all() метод об'єкту Promise який повертає об'єкт Promise, який чекає коли всі Promise у iterable будуть виконані.
Результатом Primise буде результат усіх переданих промисів у масиві розділені комою або помилка яка виникне.
var mas =[];
function obP(text){
return new Promise(function(res, er){
alert(text);
res( Promise.constructor );
});
}
mas[0]=obP("перший");
mas[1]=obP("другий");
mas[2]=obP("третій");
Promise.all(mas).then(function(){alert("усі виконано!");});
var mas =[];
function getJSON(url){
return new Promise(function(res, er){
var xhr = new XMLHttpRequest();
xhr.open("get", url, true);
xhr.onload=function(){
res(this.response+'\n\n');
};
xhr.onerror=function(e){
er("не вдалося завантажити: "+url);}
xhr.send();
});
}
mas[0]=getJSON("/ajax.php?act=test_get");
mas[1]=getJSON("/ajax.php?act=test_info");
mas[2]=getJSON("/ajax.php?act=1+1");
var newP=Promise.all(mas);
newP.then(function(result){alert(result);}, function(errors){alert(errors);});
/*або
Promise.all(mas).then(function(result){alert(result);}, function(errors){alert(errors);});
*/