async/awaitとpromiseの対比

async/awaitとpromiseの対比:


はじめに

Promise と async/await について勉強した際のメモです


async/await と promise

const getDataPromise = (num) => new Promise((resolve, reject) => { 
    setTimeout(() => { 
        typeof num === 'number' ? resolve(num * 2) : reject('error!!!!!!!!!!!!!!!!!') 
    }, 2000) 
}) 
上のようなpromiseを返すgetDataPromise()があったとして、

const processData = () => new Promise((resolve, reject) =>{ 
    getDataPromise(1).then((data) => { 
        return getDataPromise(data) 
    }).then((data) => { 
        resolve(data) 
    }).catch((err) => { 
        reject(err) 
    }) 
}) 
これは

const processData = async () => { 
    let data = await getDataPromise(1) 
    data = await getDataPromise(data) 
    return data 
} 
と同じ

asyncってのはつまるところ、戻り値をpromiseとして返すってこと

上の例でawaitしている関数でerrorが生じた場合、水面下で throw new ErrorしてくれるようになっているのでprocessData()を呼び出すときに

processData().then((data) => { 
    //なんかの処理 
}).catch((error) => { 
    //エラー処理 
}) 
こんな感じでcatch()してあげればOK

コメント

このブログの人気の投稿

投稿時間:2021-06-17 22:08:45 RSSフィード2021-06-17 22:00 分まとめ(2089件)

投稿時間:2021-06-20 02:06:12 RSSフィード2021-06-20 02:00 分まとめ(3871件)

投稿時間:2021-06-17 05:05:34 RSSフィード2021-06-17 05:00 分まとめ(1274件)