Baseline Widely available
ÐбÑее опиÑаниеÐеÑод Promise.all(iterable)
возвÑаÑÐ°ÐµÑ Ð¿ÑомиÑ, коÑоÑÑй вÑполниÑÑÑ Ñогда, когда бÑдÑÑ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ñ Ð²Ñе пÑомиÑÑ, пеÑеданнÑе в виде пеÑеÑиÑлÑемого аÑгÑменÑа, или оÑклонено лÑбое из пеÑеданнÑÑ
пÑомиÑов.
ÐеÑеÑиÑлÑемÑй обÑекÑ, напÑимеÑ, маÑÑив (Array
). СмоÑÑиÑе iterable.
Promise
, коÑоÑÑй бÑÐ´ÐµÑ Ð²Ñполнен когда бÑдÑÑ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ñ Ð²Ñе пÑомиÑÑ, пеÑеданнÑе в виде пеÑеÑиÑлÑемого аÑгÑменÑа, или оÑклонÑн, еÑли бÑÐ´ÐµÑ Ð¾Ñклонено Ñ
оÑÑ Ð¾Ð´Ð½Ð¾ из пеÑеданнÑÑ
пÑомиÑов.
Promise.all
возвÑаÑÐ°ÐµÑ Ð¼Ð°ÑÑив знаÑений Ð¾Ñ Ð²ÑеÑ
пÑомиÑов, коÑоÑÑе бÑли ÐµÐ¼Ñ Ð¿ÐµÑеданÑ. ÐозвÑаÑаемÑй маÑÑив знаÑений ÑоÑ
ÑанÑÐµÑ Ð¿Ð¾ÑÑдок оÑигиналÑного пеÑеÑиÑлÑемого обÑекÑа, но не поÑÑдок вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿ÑомиÑов. `ÐÑли какой-либо ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð¿ÐµÑеÑиÑлÑемого обÑекÑа не ÑвлÑеÑÑÑ Ð¿ÑомиÑом, Ñо он бÑÐ´ÐµÑ Ð¿ÑеобÑазован Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¼ÐµÑода Promise.resolve
.
ÐÑли одно из пеÑеданнÑÑ
пÑомиÑов бÑÐ´ÐµÑ Ð¾Ñклонено, Promise.all
бÑÐ´ÐµÑ Ð½ÐµÐ¼ÐµÐ´Ð»ÐµÐ½Ð½Ð¾ оÑклонÑн Ñо знаÑением оÑклонÑнного пÑомиÑа, не ÑÑиÑÑÐ²Ð°Ñ Ð´ÑÑгие пÑомиÑÑ, незавиÑимо вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ñ Ð¾Ð½Ð¸ или неÑ. ÐÑли в каÑеÑÑве аÑгÑменÑа бÑÐ´ÐµÑ Ð¿ÐµÑедан пÑÑÑой маÑÑив, Ñо Promise.all
бÑÐ´ÐµÑ Ð²Ñполнен немедленно.
Promise.all
Promise.all ждÑÑ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð²ÑеÑ
пÑомиÑов (или пеÑвого меÑода reject()
).
var p1 = Promise.resolve(3);
var p2 = 1337;
var p3 = new Promise((resolve, reject) => {
setTimeout(resolve, 100, "foo");
});
Promise.all([p1, p2, p3]).then((values) => {
console.log(values);
});
//ÐÑведеÑ:
// [3, 1337, "foo"]
Promise.all
поведение немедленного оÑклонениÑ
Promise.all
бÑÐ´ÐµÑ Ð½ÐµÐ¼ÐµÐ´Ð»ÐµÐ½Ð½Ð¾ оÑклонÑн еÑли один из пеÑеданнÑÑ
пÑомиÑов бÑÐ´ÐµÑ Ð¾Ñклонен: еÑли Ñ Ð²Ð°Ñ ÐµÑÑÑ ÑеÑÑÑе пÑомиÑа коÑоÑÑе бÑдÑÑ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ñ Ñ Ð·Ð°Ð´ÐµÑжкой и один, коÑоÑÑй бÑÐ´ÐµÑ Ð¾Ñклонен немедленно - Ñогда Promise.all
бÑÐ´ÐµÑ Ð½ÐµÐ¼ÐµÐ´Ð»ÐµÐ½Ð½Ð¾ оÑклонÑн.
var p1 = new Promise((resolve, reject) => {
setTimeout(resolve, 1000, "one");
});
var p2 = new Promise((resolve, reject) => {
setTimeout(resolve, 2000, "two");
});
var p3 = new Promise((resolve, reject) => {
setTimeout(resolve, 3000, "three");
});
var p4 = new Promise((resolve, reject) => {
setTimeout(resolve, 4000, "four");
});
var p5 = new Promise((resolve, reject) => {
// ÐÑÐ¾Ñ Ð¿ÑÐ¾Ð¼Ð¸Ñ Ð¿ÑеÑвÑÑ Promise.all
reject("reject");
});
Promise.all([p1, p2, p3, p4, p5]).then(
(value) => {
console.log(value);
},
(reason) => {
console.log(reason);
},
);
//ÐÑведеÑ:
//"reject"
СпеÑиÑикаÑии СовмеÑÑимоÑÑÑ Ñ Ð±ÑаÑзеÑами РодÑÑвеннÑе ÑемÑ
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4