公開:2024-11-15、更新:2024-11-15
第13話「Promiseのstaticメソッド」2 4~7ページ
マンガ
コンテンツ紹介
テキスト原稿
# 4p
1)
モフオ:
各Promiseの
resolveで
戻した値は
配列として
受け取れる
2)
待ち処理1 結果1
待ち処理2 結果2
配列として
待ち処理3 結果3
受け取る
待ち処理4 結果4
待ち処理5 結果5
-----
3)
モフオ:
実際にコードで
書いてみよう
reject2
の時に作った
timerを
利用するよ
4)
const array = [
timer(500, 'resolve'),
timer(600, 'resolve'),
timer(700, 'resolve'),
timer(800, 'resolve')
];
Promise.all(array)
.then(function(res) {
console.log(res);
});
出力内容
['500 解決', '600 解決',
'700 解決', '800 解決']
配列
# 5p
1)
モフオ:
配列の要素が
Promise
ではない時は
そのまま解決と
みなして送られる
2)
const array = [
500,
600,
700,
timer(800, 'resolve')
];
Promise.all(array)
.then(function(res) {
console.log(res);
});
出力内容
[500, 600, 700, '800 解決']
Promiseと
混ぜても
構わない
-----
3)
ミア:
思ったより
分かりやすいわね
4)
モフオ:
よかった
# 6p
1)
ミア:
rejectを
使った時は
どうなるの?
2)
モフオ:
最初のrejectの
タイミングで
allを終えるんだ
-----
3)
const array = [
timer(500, 'resolve'),
timer(600, 'reject'),
timer(700, 'resolve'),
timer(800, 'reject')
];
Promise.all(array)
.then(
function(res) {
},
function(res) {
console.log(res);
}
);
出力内容
600 拒否
600ミリ秒の方が
800ミリ秒より
先なので
ここで終了
600 拒否
4)
モフオ:
値の受け取り方は
通常のrejectと
同じだよ
# 7p
1)
ミア:
asyncや
awaitと
組み合わせたら
どうなるの?
2)
モフオ:
書いてみるね
awaitを付けずに
配列を作る点に注意してね
待つのはallの
ところだから
-----
3)
全てresolveの時
(async function() {
const array = [
timer(500, 'resolve'),
timer(600, 'resolve'),
timer(700, 'resolve')
];
const res = await Promise.all(array);
console.log('res:', res);
})();
出力内容
res: ['500 解決', '600 解決', '700 解決']
awaitを付けず
に配列を作る
(Promiseの
配列を作る)
待つのは
allのところ