この記事はNode.js Advent Calendar 2018の10日目の記事です。 Node.jsと非同期処理 Node.js の特徴は非同期処理です。 Node.js では非同期処理をうまく扱うためにいくつかのインターフェースを提供しています。 Callback Promise (async/await) EventEmitter (Stream) Callback は言わずもがな、JavaScript の世界で古くから存在する非同期を処理する方法です。JavaScript を書いていて Callback 関数をみたことがない、という人はいないでしょう。Callback は JavaScript を発展させてきた素晴らしいインターフェースですが、Callback Hell など問題も多く抱えています。そこで新しく Promise というインターフェースが開発されました。これは Ca