JavaScript の async/await の仕様をずっと誤解していた - dev.to/jgs

すごい初歩的なことかもしれないのだけれど、年単位ぐらいで誤解したままコードを書いていたので懺悔のためにも書いておく...。
何が違ったかというと、async function の扱いである。async function も

_
function

と同じだとおもっていて、

_
Promise

を返さないと呼び出し側で

_
await

できないと勘違いしていた。そのため、今までは
_

というような感じで

_
Promise

を一旦返すようにしていた。しかし、async function は呼び出すと

_
Promise

を返してくれるのだ。
参照: https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Statements/async_function
_

Node.js v9.5 で確認した。
_

_
Promise

が返ってくる...。よくよく調べていくと async function の中で

_
return

すると

_
Promise


_
resolve

し、

_
throw

すると

_
Promise


_
reject

することになるんだそうな。
_

= >
_

_

= >
_

まじか...。俺の

_
Promise

とはなんだったんだ.........。とても恥ずかしい.....。

#javascript
original: https://dev.to/jgs/javascript--asyncawait---2l41
#20180208 #0208

関連ページとランダムに選ばれたページ

筆者について

jigsaw(ジグソウ、1991年6月12日-)は日本のプログラマ、会社代表。本名は小林貴也(こばやし たかや)。主にウェブ、フロントエンド領域で活動している。カミング・スーン合同会社の代表社員。
さらに詳しく

寄附について

面白かったらBTCETHでの寄附をお待ちしております。
寄附のきろく