Promise.all()

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);}); */