Baseline Widely available
Promise.allSettled()
éææ¹æ³å°ä¸ä¸ª Promise å¯è¿ä»£å¯¹è±¡ä½ä¸ºè¾å
¥ï¼å¹¶è¿åä¸ä¸ªåç¬ç Promise
ã彿æè¾å
¥ç Promise é½å·²æ²å®æ¶ï¼å
æ¬ä¼ å
¥ç©ºçå¯è¿ä»£å¯¹è±¡æ¶ï¼ï¼è¿åç Promise å°è¢«å
ç°ï¼å¹¶å¸¦ææè¿°æ¯ä¸ª Promise ç»æç对象æ°ç»ã
const promise1 = Promise.resolve(3);
const promise2 = new Promise((resolve, reject) =>
setTimeout(reject, 100, "foo"),
);
const promises = [promise1, promise2];
Promise.allSettled(promises).then((results) =>
results.forEach((result) => console.log(result.status)),
);
// Expected output:
// "fulfilled"
// "rejected"
è¯æ³
Promise.allSettled(iterable)
åæ°
iterable
ä¸ä¸ªä»¥ promise ç»æçå¯è¿ä»£å¯¹è±¡ï¼ä¾å¦ Array
ï¼å¯¹è±¡ã
ä¸ä¸ª Promise
ï¼å
¶ç¶æä¸ºï¼
å·²å
ç°ï¼already fulfilledï¼ï¼å¦æä¼ å
¥ç iterable
为空çè¯ã
弿¥å
ç°ï¼asynchronously fulfillï¼ï¼å½ç»å®ç iterable
䏿æ promise å·²ç»æ²å®æ¶ï¼è¦ä¹å·²å
ç°ï¼è¦ä¹å·²æç»ï¼ãå
ç°ç弿¯ä¸ä¸ªå¯¹è±¡æ°ç»ï¼å
¶ä¸ç对象æç
§ iterable
ä¸ä¼ éç promise ç顺åºï¼æè¿°æ¯ä¸ä¸ª promise çç»æï¼æ è®ºå®æé¡ºåºå¦ä½ãæ¯ä¸ªç»æå¯¹è±¡é½æä»¥ä¸ç屿§ï¼
status
ä¸ä¸ªå符串ï¼è¦ä¹æ¯ "fulfilled"
ï¼è¦ä¹æ¯ "rejected"
ï¼è¡¨ç¤º promise çæç»ç¶æã
value
ä»
å½ status
为 "fulfilled"
ï¼æåå¨ãpromise å
ç°çå¼ã
reason
ä»
å½ status
为 "rejected"
ï¼æåå¨ï¼promsie æç»çåå ã
å¦æä¼ å
¥ç iterable
æ¯é空çï¼ä½ä¸å
å«å¾
å®çï¼pendingï¼promiseï¼åè¿åç promise ä»ç¶æ¯å¼æ¥å
ç°çï¼è䏿¯åæ¥å
ç°ã
Promise.allSettled()
æ¹æ³æ¯ promise å¹¶åæ¹æ³ä¹ä¸ãå¨ä½ æå¤ä¸ªä¸ä¾èµäºå½¼æ¤æå宿ç弿¥ä»»å¡æ¶ï¼æè
ä½ æ»æ¯æ³ç¥éæ¯ä¸ª promise çç»ææ¶ï¼ä½¿ç¨ Promise.allSettled()
ã
ç¸æ¯ä¹ä¸ï¼å¦æä»»å¡ç¸äºä¾èµï¼æè
å¦æä½ æ³å¨ä»»ä½ promise 被æç»æ¶ç«å³æç»ï¼Promise.all()
è¿åç Promise å¯è½æ´åéã
Promise.allSettled([
Promise.resolve(33),
new Promise((resolve) => setTimeout(() => resolve(66), 0)),
99,
Promise.reject(new Error("ä¸ä¸ªé误")),
]).then((values) => console.log(values));
// [
// { status: 'fulfilled', value: 33 },
// { status: 'fulfilled', value: 66 },
// { status: 'fulfilled', value: 99 },
// { status: 'rejected', reason: Error: ä¸ä¸ªé误 }
// ]
è§è æµè§å¨å
¼å®¹æ§ åè§
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