async/awaitを使ってPromiseの評価値をやりとりする方法
はじめに
async/awaitを使ってPromiseの評価値をやりとりする方法がよくわからなかったので、理解を深める目的で調べてまとめた。
async/awaitを使ってPromiseの評価値をやりとりする方法
Promiseとthen()を使って、Promiseから返ってきた値を次の処理に使う場合は以下のように書く。
const sample1 = () => { return new Promise((resolve) => { setTimeout( () => { resolve('サンプル1') }, 2000) }) } sample1().then(value => { console.log(value) }) //サンプル1
これをasync/awaitで書くと、
const sampleSync = async () => { console.log(await sample1()) } sampleSync() //サンプル1
こうなる。
なぜこう書けるかというと、「await式は、awaitの右辺(Promiseインスタンス)の評価結果を値として返す」ため。