# 非同期プログラミング (Node.js / NestJS) > Callbacks、Promises、async/await、エラーハンドリング、Promise.all、Promise.race - 25 面接問題 - Junior - [面接問題: Node.js / NestJS](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions.md) ## 1. NestJSで、controllerメソッドを非同期にするにはどうすればよいですか? **回答** メソッドの前にasyncキーワードを追加すると、自動的にPromiseを返します。NestJSはPromiseの解決を自動的に処理し、結果をクライアントに送信します。必要に応じてasyncなしで直接Promiseを返すこともできます。NestJSはRxJSのObservableもサポートしています。async/awaitを使用すると、非同期操作(DB、外部APIなど)のコードがより読みやすくなります。 ## 2. JavaScriptにおけるcallbackの主な問題は何ですか? **回答** callback hell(破滅のピラミッド)は、複数の非同期操作がネストされたときに発生し、読みづらく保守しにくいコードを生み出します。インデントのレベルが増えるごとに複雑さが増します。Promiseとasync/awaitは、より直線的な非同期コードの記述を可能にすることで、この問題を解決するために導入されました。 ## 3. JavaScriptにおけるPromiseとは何ですか? **回答** Promiseは、非同期操作の最終的な完了(または失敗)とその結果値を表すオブジェクトです。pending、fulfilled(正常に解決)、rejected(エラーで失敗)の3つの状態を取ります。Promiseは.then()と.catch()で非同期操作を連鎖させることができます。 ## さらに22問利用可能 - Promiseが取りうる3つの状態は何ですか? - Promiseでエラーを処理するにはどうすればよいですか? 無料で登録: https://sharpskill.dev/ja/login ## その他のNode.js / NestJS面接トピック - [Node.js の基礎](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/nodejs-fundamentals.md): 20問, Junior - [Node.js コア API](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/nodejs-core-apis.md): 25問, Junior - [Express.js の基礎](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/express-basics.md): 20問, Junior - [NestJSの基礎](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/nestjs-fundamentals.md): 23問, Junior - [REST API 設計](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/rest-api-design.md): 20問, Junior - [バリデーションとDTO](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/validation-dto.md): 20問, Junior - [APIドキュメントと契約](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/api-documentation.md): 20問, Junior - [エラーハンドリング](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/error-handling.md): 20問, Junior - [ユニットテスト](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/testing-unit.md): 20問, Junior - [タスクスケジューリング](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/scheduling-cron.md): 15問, Junior - [NestJS のモジュールと DI](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/nestjs-modules-di.md): 20問, Mid-Level - [設定と環境管理](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/configuration-environment.md): 20問, Mid-Level - [JWT認証](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/authentication-jwt.md): 25問, Mid-Level - [認可とRBAC](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/authorization-rbac.md): 20問, Mid-Level - [TypeORMによるデータベース](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/database-typeorm.md): 30問, Mid-Level - [Prisma ORM](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/prisma-orm.md): 25問, Mid-Level - [ミドルウェアとインターセプター](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/middleware-interceptors.md): 20問, Mid-Level - [ファイルアップロード](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/file-upload.md): 15問, Mid-Level - [WebSockets](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/websockets.md): 20問, Mid-Level - [NestJSによるGraphQL](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/graphql-basics.md): 25問, Mid-Level - [エンドツーエンドテスト](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/testing-e2e.md): 20問, Mid-Level - [Redisによるキャッシング](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/caching-redis.md): 20問, Mid-Level - [Bull によるキュー](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/queues-bull.md): 20問, Mid-Level - [DevOps、Logging、CI/CD](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/logging-monitoring.md): 25問, Mid-Level - [Docker とコンテナ化](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/docker-containerization.md): 25問, Mid-Level - [マイクロサービス](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/microservices.md): 30問, Senior - [セキュリティのベストプラクティス](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/security-best-practices.md): 25問, Senior - [パフォーマンスとクラウドデプロイ](https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/performance-optimization.md): 30問, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/ja/technologies/node-nestjs/interview-questions/asynchronous-programming