Promise.race() - повертає Promise який повертає результат першого виконаного Promise у списку.
Promise.race( iterable );
Promise - об'єкт Promise.
iterable - масив Promise.
race() метод об'єкту Promise який повертає об'єкт Promise, який повертає результат першого виконаного Promise у iterable.
var mas =[];
function obP(text){
return new Promise(function(res, er){
res( text );
});
}
mas[0]=obP("перший");
mas[1]=obP("другий");
mas[2]=obP("третій");
Promise.race(mas).then(function(a){alert(a);});
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);
};
xhr.onerror=function(e){
er("не вдалося завантажити: "+url);}
xhr.send();
});
}
mas[0]=getJSON("json.html");
mas[1]=getJSON("test.json");
Promise.race(mas).then(function(result){alert(result);}, function(errors){alert(errors);});
/*або
var newP=Promise.race(mas);
newP.then(function(result){alert(result);}, function(errors){alert(errors);});
*/