公開:2024-11-15、更新:2024-11-15
第14話「Promiseのstaticメソッド 2」
今回は「Promise」の「static」メソッドについての説明、その2です。
マンガ
コンテンツ紹介
テキスト原稿
# 1p
1)
ミア:
今回は前回の
続きなのよね?
[ミア]
2)
モフオ:
そうだよ
Promiseの
静的メソッドについて
また話すよ
[モフオ]
-----
3)
モフオ:
今回話すのは
allの仲間だね
解決や拒否の
発生する条件が
違う
4)
ミア:
ややこしそうね
-----
5)
モフオ:
そうでもないよ
図とコードで
見るのが
分かりやすいから
allも含めて
まとめるね
# 2p
1)
Promise.all()
発生条件 送られる値
全て解決 解決 ▶ 全てのPromiseの値の配列
最初の拒否 拒否 ▶ 最初の拒否のPromiseの値
-----
2)
解決
Promise.all([
500,
timer(600, 'resolve'),
timer(700, 'resolve'),
timer(800, 'resolve')
])
.then(
val => console.log('○', val),
val => console.log('×', val)
);
出力内容
○ [500, '600 解決', '700 解決', '800 解決']
3)
拒否
Promise.all([
500,
timer(600, 'resolve'),
timer(700, 'reject'),
timer(800, 'reject')
])
.then(
val => console.log('○', val),
val => console.log('×', val)
);
出力内容
× 700 拒否
# 3p
1)
Promise.allSettled()
発生条件 送られる値
結果の情報が入ったオブジェクトの配列
全てのプロミスが
解決 ▶ 各要素はstatusとvalueを持つ
解決あるいは拒否
reject時はvalueの代わりにreasonを持つ
発生条件 送られる値
全て終了 結果の情報が入ったオブジェクトの配列
(解決か拒否 解決 ▶ 各要素はstatusとvalueを持つ
になる) reject時はvalueの代わりにreasonを持つ
-----
2)
解決
Promise.allSettled([
500,
timer(600, 'resolve'),
timer(700, 'reject'),
timer(800, 'reject')
])
.then(
val => console.log('○', val),
val => console.log('×', val)
);
出力内容
○ [
{"status": "fulfilled", "value": 500},
{"status": "fulfilled", "value": "600 解決"},
{"status": "rejected", "reason": "700 拒否"},
{"status": "rejected", "reason": "800 拒否"}
]