JavaScript本おすすめ3選|Node.jsの非同期処理・Promise・async/awaitを中級者向けに解説

PR:この記事にはアフィリエイトリンクが含まれます。

Node.jsの非同期処理はPromiseやasync/awaitを覚えても、実務では判断に迷う場面が残ります。処理がいつ並行し、失敗がどこへ届くかまで追えると、APIやバッチの挙動が見通せます。

中級になると読みやすさに加え、待ち時間や同時実行数、途中のキャンセルも気になりますよね。JavaScriptの基本を知っている方に向けて、仕組みと関連書籍を紹介します。

Node.jsアプリの開発まで扱う本と、言語機能や設計に焦点を当てる本では、学べる範囲が異なります。刊行時期やページ数も含めて、3冊の特徴を表にまとめました。

3冊の早見表

Node.jsの非同期処理を軸に、実装の広さやJavaScript・TypeScriptの言語機能、設計パターンを扱う3冊です。対象読者や刊行時期にも違いがあります。

書籍主な範囲刊行・ページ参考価格(税込)
実践Node.js入門 ―基礎・開発・運用実践Node.js入門 ―基礎・開発・運用Promise、async/await、API開発、運用2023年・384ページ3,278円
JavaScript/TypeScript実力強化書 ―関数・非同期処理・型システム完全攻略JavaScript/TypeScript実力強化書 ―関数・非同期処理・型システム完全攻略Promise、AbortSignal、型システム2025年・184ページ2,420円
Node.jsデザインパターン 第2版Node.jsデザインパターン 第2版Node.jsの構造、並行実行、ストリーム2019年・480ページ4,620円

価格は希望小売価格を目安にしています。実売価格は時期や販売店で変わるため、購入時に確認してください。ページ数はテーマの広さを考える参考にはなりますが、読みやすさや必要な知識をそのまま示す数字ではありません。

JavaScriptの基本を確かめながらNode.jsの実装へ進みたいなら1冊目が合います。Promiseや型の仕組みを掘り下げたい方には2冊目、非同期アーキテクチャや処理設計まで学びたい方には3冊目をおすすめします。

非同期の仕組み

同期処理では、ある行の処理が終わってから次へ進みます。Node.jsの非同期処理なら、ファイル読み込みや通信の完了を待つあいだに別の処理を進められます。待ち時間を活かせるわけですね。

JavaScriptの実行自体は基本的に一つずつ進みます。I/Oの待機はランタイムが扱い、完了後に登録した処理を呼び出します。非同期処理だから複数のCPUで同時に動くと考えると、負荷を読み違えるところがあります。

Callbackは、処理が終わったときに呼ぶ関数を引数で渡す方法です。段数が増えると入れ子が深くなり、エラーの確認も煩雑になりがち。Promiseなら完了後の処理をつなぎやすくなります。

中級者が押さえておきたいのは、非同期処理が後から結果を返す約束だという点です。結果を待つ場所や処理をまとめる場所、失敗を捕まえる場所を分けて考えると、コードの流れを追いやすくなります。

Promiseの責務

Promiseには処理中のpending、成功したfulfilled、失敗したrejectedという3つの状態があります。完了後に状態が変わることはありません。成否を分けて考えると後続処理を整理できます。

.then()は成功時の処理を登録し、返り値を次のPromiseへ渡します。途中で例外が起きても後続の失敗処理へ流れる仕組みです。返り値をつなげば複数の非同期処理を一本の流れとして表せます。

ユーザー情報を取得してから設定を読むなら、loadUser(id).then(user => loadSettings(user))という形です。内側に.then()を重ねるより、返り値を次へ渡すほうが結果と失敗の経路を追いやすくなります。

末尾に.catch()を置けば安心とは限りません。途中で失敗を捕まえて正常値を返すと、その後の処理は成功として続きます。回復できる失敗か、呼び出し元へ伝える失敗かを見極めて捕捉する場所を決めましょう。

awaitの読み方

asyncを付けた関数は、通常の値を返すように見えてもPromiseを返します。関数内で例外を投げた場合も、呼び出し側にはrejectedなPromiseとして伝わります。関数の外側には非同期の境界が残るわけです。

awaitを使うとPromiseの成功結果を取り出し、失敗を例外として扱えます。const user = await loadUser(id);と書けば、その後の処理を上から下へ追いやすいでしょう。Promiseそのものが消えるわけではありません。

ループ内で毎回awaitすると、前の処理が終わるまで次を始めない書き方になることがあります。順番どおりに更新したい場面には便利です。一方、独立した読み込みまで直列にすると全体の待ち時間が長くなることもあります。

tryとcatchなら同期処理に近い形で失敗を扱えます。finallyには接続や一時ファイルなど、成功しても失敗しても必要な後片付けを置けます。何を回復し、何を上へ返すかまで考えると、読みやすさが実用性につながります。

並行実行の設計

互いに独立した処理ならPromiseを先に作り、Promise.all()へ渡すとまとめて待てます。IDの配列からユーザー情報を取得する例では、Promise.all(ids.map(loadUser))とすれば各読み込みを順番待ちにせず開始できます。

Promise.all()の結果は入力と同じ順序で並びます。一つでも失敗すると全体のPromiseは失敗します。ほかの処理は自動で止まらないので、長い通信を中断したい場合は別途キャンセルを設計します。

処理のうち先に決着した結果を受け取りたいときはPromise.race()、各処理の成否をまとめて確認したいときはPromise.allSettled()が使えます。待ち方は変わりますが、どちらも処理数を制限する機能ではありません。

数千件を一度にPromise.all()へ渡すと接続数やメモリー、相手側の制限に負荷がかかることがあります。同時実行数を絞るキューやストリームを使い、処理が終わるたび次を流す方法が有効です。CPUを長く使う計算ではWorker Threadsなども検討しましょう。

実装へつなぐ

『実践Node.js入門 ―基礎・開発・運用』は、技術評論社から2023年1月に刊行された384ページの本です。著者は伊藤康太さんで、JavaScriptの基本を持ちNode.jsの開発や運用へ進みたいエンジニアを対象にしています。

CLIツール、ExpressによるREST APIやWebサーバー、テスト、デプロイまで扱います。Promiseを小さな例だけで終わらせず、アプリの中での使い方を追える構成です。開発から運用まで学びたい方にもおすすめします。

非同期処理ではCallback、Promise、async/awaitに加えて、並行実行やストリーム、AsyncIterator、Top-Level Awaitを扱います。ExpressやEventEmitterでのエラーハンドリングも取り上げるため、成功・失敗をアプリ全体で整理する助けになるでしょう。

希望小売価格は税込3,278円が目安で、実売価格は時期や店によって変わります。Node.jsの実装と運用をつなげて学びたいなら、この本を最初の一冊にしてください。JavaScriptの基礎がある方なら、内容を実務へ移しやすいでしょう。

実践Node.js入門 ―基礎・開発・運用

実践Node.js入門 ―基礎・開発・運用

技術評論社

Amazonで見る

型と非同期

『JavaScript/TypeScript実力強化書 ―関数・非同期処理・型システム完全攻略』は、技術評論社から2025年9月に刊行された184ページの本です。Web開発者やJavaScript・TypeScriptプログラマー向けで、関数、非同期処理、型を4章構成で解説します。

非同期処理の変遷をたどり、Promiseやasync/awaitへ進んだ後、AbortSignalやAsyncLocalStorageも取り上げます。関数と型システムも扱うため、JavaScriptとTypeScriptの言語機能をまとめて学べます。

並行処理と並列処理の違いも扱います。Promiseで複数の入出力を待つ処理と、計算を複数の実行単位へ分ける処理を区別できます。型システムの章もあり、JavaScriptの動きとTypeScriptでの表現を一緒に理解したい人に合います。

希望小売価格は税込2,420円が目安です。Promiseやasync/awaitに加えてAbortSignalとTypeScriptの型まで押さえたい方には、この本をおすすめします。言語機能を深く学びたい読者に特に向いています。

JavaScript/TypeScript実力強化書 ―関数・非同期処理・型システム完全攻略

JavaScript/TypeScript実力強化書 ―関数・非同期処理・型システム完全攻略

技術評論社

Amazonで見る

設計を深める

『Node.jsデザインパターン 第2版』は、オライリー・ジャパン刊の480ページの中級以上向け書籍です。2019年5月に刊行され、当時はNode.js 11.4対応として案内されていました。設計の理由まで知りたい方が対象です。

シングルスレッド、リアクタパターン、ノンブロッキングI/O、libuvなどNode.jsの非同期アーキテクチャを扱います。Promiseの基礎やNode.js APIのPromise化を踏まえ、逐次処理と並行処理、async/awaitへ進みます。仕組みとコードを結び付けて読める内容です。

同時実行数を制限する処理やストリーム上の並行実行に加え、非同期バッチやキャッシュも扱います。EventEmitterでのエラー伝播やCPU負荷の高いタスクにも触れ、構文の置き換えだけでは解けない問題を考えられます。

希望小売価格は税込4,620円が目安で、実売価格は時期や店で変動します。2019年刊行のため、現在のNode.js APIを使う際は現行ドキュメントも確認してください。並行処理の制御や設計パターンを深く学びたい中級者には、購入する価値があります。

Node.jsデザインパターン 第2版

Node.jsデザインパターン 第2版

オライリー・ジャパン

Amazonで見る

結論

Node.jsの非同期処理を学び、APIや運用まで手を動かしたい人には『実践Node.js入門 ―基礎・開発・運用』をおすすめします。Promise、ストリーム、エラー処理をNode.jsアプリの流れに結び付けており、学んだ内容を実装へ移しやすい一冊です。

JavaScript・TypeScriptの言語機能やAbortSignalまで掘り下げたい方には『JavaScript/TypeScript実力強化書 ―関数・非同期処理・型システム完全攻略』、同時実行数や非同期アーキテクチャを学びたい方には『Node.jsデザインパターン 第2版』をおすすめします。目的に応じて選べます。

処理の組み立て方や運用上の制約も知りたい中級者には、3冊目も有力です。参考価格は希望小売価格を目安にしてください。実際の販売価格は購入時点で確認しましょう。

【2026年版】Amazonで買えるおすすめノートPCランキング!コスパ最強のモデルはこれだ
DELLのノートパソコンがテーブルの上に置いてある画像

Amazon の PC をスコア化してみた

Specsy Hub

Amazonにある8〜14インチの小型WindowsタブレットやノートPCを、スペック別にスコア化して比較・ランキング。

タイトルとURLをコピーしました