WIP

promise, async / awaitの歴史と意味

created at 2017.02.14
updated at 9ヶ月前 ago
vsanna / public JavaScript

要約

  1. JSでは非同期コードを書くことがある
    • setTimeout ... はあまりないが、
    • ajax ... APIとのやり取りはよくあるやつ
    • node.jsはノンブロッキングと呼ばれるくらい
  2. 順番を担保したいと思うことがあり、非同期処理の「あとに」実行する処理を予め渡す、callbackという仕組みが発明された
  3. その結果、callback地獄(後述)に陥る事があり、それを回避するべくpromiseが導入
  4. Promiseは書き方が独特で、更にシンプルに非同期処理をかけるようにしたものとしてasync/awaitが登場
async function helloWorld() {
    const promise = new Promise((resolve, reject) => resolve('1000'));
    const hw = await promise; // awaitでpromiseの返り値を取得している
    console.log(hw)
    return hw
}

var a = helloWorld()
console.log(a) // promiseが帰ってきている
a.then((d)=>{console.log(d)}) // dにはresolveの引数が。

ref

shareシェアする

forumコメント

まだコメントはありません!
ログインしてコメントを残す
{{comment.user.name}} on {{commentCreatedAt()}}

content_copy前後のイシュー

{{message}}