プロを目指す人のためのTypeScript入門 読書メモ⑭ 第8章(3)
■ 思ったこと
早くAngularのチュートリアルやりたいぜ…
■ 第8章 非同期処理(8.4~8.5.4)
- 前回まではthenで処理を動かしていたが、実際はもっと使われる書き方があるらしい
ちょっとおさらい
- Promise
みたいに書くけど、Promiseオブジェクトってどういうもんなの - なんも入ってなければこんな感じ
Promise { <pending> }
- 例のようにnumber入れたらこんな感じで返ってくるよ
Promise { 100 }
- だから型引数が必須なのですね!
async関数
- functionの前にasyncをつける
async function
構文から始まるぞ - アローで書くなら
const main = async () => { 処理 }
って感じ - 返り値は必ずPromise!だから中身を使いたいなら
返り値.then()
- こんな感じで使える
const result = 返り値.then((変数) => {なんか処理})
- こんな感じで使える
await式
- async関数の中で使える構文!
await
を使うとasync関数の実行が一時中断する- awaitがくっつく式はPromiseオブジェクト、Promiseの結果が出るまで待ってくれるのさ
// await実行されたら解決するまで中断する async function getNumber() { try { console.log(`getNumber staert`); await sleep(1000); console.log(`getNumber end`); return 30; } catch { console.log(`失敗!`); } } console.log(`実行!`); getNumber().then((num) => { console.log(`getしたNumberは${num}`); }); // awaitを待ってる間外の関数は普通に進む console.log(`待機中~`); //[console] // 実行! // getNumber staert // 待機中~ // getNumber end // getしたNumberは30
■ 感想
難しいが、だいたいは、、前よりはOK!後輩に説明できるかというと、、??!次の9章はコンパイラオプションはさらっと読んだので、またプロジェクト1から作るときに熟読します!ということでここで一区切り!!基本的なことが学べたというか、TypeScriptに慣れることができたって感じ!!土台作りとしてほんとにわかりやすかった!!!ありがとうございます!!!!