メモの日々


2016年10月04日(火) [長年日記]

[javascript] JavaScriptのPromiseについてメモ

JavaScript(ES2015)を使っている。Promiseを覚えたので忘れないようにメモ。

$ node -i
> const a = new Promise((resolve, reject) => { console.log("---Promiseは直ちに実行される"); reject("rejectを呼ぶ") })
---Promiseは直ちに実行される
undefined
> const b = a.then(() => console.log("---resolveが呼ばれていないのでこの関数は実行されない"))
undefined
> const c = b.catch(e => { console.log("---この関数は実行される"); throw Error(e) })
undefined
> ---この関数は実行される

> const d = c.catch(e => console.log("---上のcatch内でthrowされたオブジェクトはcatchしないと捨てられるので注意", e))
undefined
> ---上のcatch内でthrowされたオブジェクトはcatchしないと捨てられるので注意 Error: rejectを呼ぶ
    at Error (native)
    at b.catch.e (repl:1:62)
    at process._tickDomainCallback (internal/process/next_tick.js:129:7)

後で見て理解できるか不安だ。