マンガでわかるJavaScriptのPromise

Xにポスト X@ruten 開発支援 開発/執筆依頼
公開:2024-11-15、更新:2024-11-15

第11話「reject 2」

今回は「reject」を使ったコード、その2です。

マンガ

表紙
1
2:終わり、次はドキュメント

コンテンツ紹介

この連載をまとめて 無料の電子書籍で読む PDF+コードをDLする
コンテンツを全て見る

テキスト原稿

# 1p 1) ミア: そういえば asyncと awaitで書く時の rejectって どうなるの? [ミア] 2) モフオ: いい質問だね その話をしようと 思っていたんだ [モフオ] ----- 3) モフオ: 例外処理の try catch文を 利用するよ 説明のために 少し改造した timerの コードを示すよ ---- 4) const timer = (time, type) => { return new Promise((resolve, reject) => { setTimeout(() => { if (type === 'resolve') { resolve(`${time} 解決`); } if (type === 'reject') { reject(`${time} 拒否`); } }, time); }); }; 今後は このtimerを 利用するよ typeが'resolve'ならresolve()を実行 'reject' ならreject() を実行
# 2p 1) モフオ: 次に この timerを 使った処理を 書くよ 600のところで rejectが 実行されて catchに 制御が移るんだ ----- 2) その場で実行するために、関数を丸括弧で囲い… ( async function() { try { const res1 = await timer(500, 'resolve'); console.log(res1); const res2 = await timer(600, 'reject'); console.log(res2); const res3 = await timer(700, 'resolve'); console.log(res3); } catch(e) { console.log(e); } console.log('終了'); } ) (); そのあとに、実行のための丸括弧を書く (こうした実行方法を「即時実行」という) ----- 3) 出力内容 500 解決 600 拒否 終了 4) ミア: thenを 使うより よさそうね

トップページに戻る
Cronus Crown(クロノス・クラウン)のトップページに戻る
(c)2002-2024 Cronus Crown (c)1997-2024 Masakazu Yanai
ご意見・お問い合わせはサイト情報 弊社への連絡までお願いします
個人情報の取り扱い、利用者情報の外部送信について