# Programmazione asincrona (Node.js / NestJS) > Callbacks, Promises, async/await, gestione degli errori, Promise.all, Promise.race - 25 domande da colloquio - Junior - [Domande da colloquio: Node.js / NestJS](https://sharpskill.dev/it/technologies/node-nestjs/domande-colloquio.md) ## 1. In NestJS, come rendere asincrono un metodo del controller? **Risposta** Aggiungi la parola chiave async prima del metodo e restituirà automaticamente una Promise. NestJS gestisce automaticamente la risoluzione della Promise e invia il risultato al client. Puoi anche restituire direttamente una Promise senza async se necessario. NestJS supporta anche gli Observable di RxJS. Usare async/await rende il codice più leggibile per le operazioni asincrone (DB, API esterne, ecc.). ## 2. Qual è il problema principale dei callback in JavaScript? **Risposta** Il callback hell (piramide del destino) si verifica quando più operazioni asincrone vengono annidate, creando codice difficile da leggere e mantenere. Ogni livello di indentazione aggiunge complessità. Le Promise e async/await sono state introdotte per risolvere questo problema consentendo una scrittura più lineare del codice asincrono. ## 3. Cos'è una Promise in JavaScript? **Risposta** Una Promise è un oggetto che rappresenta il completamento (o il fallimento) finale di un'operazione asincrona e il suo valore risultante. Può trovarsi in tre stati: pending, fulfilled (risolta con successo) o rejected (fallita con un errore). Le Promise consentono di concatenare operazioni asincrone con .then() e .catch(). ## Altre 22 domande disponibili - Quali sono i tre possibili stati di una Promise? - Come gestire gli errori con le Promise? Registrati gratis: https://sharpskill.dev/it/login ## Altri argomenti di colloquio Node.js / NestJS - [Fondamenti di Node.js](https://sharpskill.dev/it/technologies/node-nestjs/domande-colloquio/nodejs-fundamentals.md): 20 domande, Junior - [API Core di Node.js](https://sharpskill.dev/it/technologies/node-nestjs/domande-colloquio/nodejs-core-apis.md): 25 domande, Junior - [Fondamenti di Express.js](https://sharpskill.dev/it/technologies/node-nestjs/domande-colloquio/express-basics.md): 20 domande, Junior - [Fondamenti di NestJS](https://sharpskill.dev/it/technologies/node-nestjs/domande-colloquio/nestjs-fundamentals.md): 23 domande, Junior - [Progettazione di API REST](https://sharpskill.dev/it/technologies/node-nestjs/domande-colloquio/rest-api-design.md): 20 domande, Junior - [Validazione e DTO](https://sharpskill.dev/it/technologies/node-nestjs/domande-colloquio/validation-dto.md): 20 domande, Junior - [Documentazione API e contratti](https://sharpskill.dev/it/technologies/node-nestjs/domande-colloquio/api-documentation.md): 20 domande, Junior - [Gestione degli errori](https://sharpskill.dev/it/technologies/node-nestjs/domande-colloquio/error-handling.md): 20 domande, Junior - [Test unitari](https://sharpskill.dev/it/technologies/node-nestjs/domande-colloquio/testing-unit.md): 20 domande, Junior - [Pianificazione delle attività](https://sharpskill.dev/it/technologies/node-nestjs/domande-colloquio/scheduling-cron.md): 15 domande, Junior - [Moduli e DI di NestJS](https://sharpskill.dev/it/technologies/node-nestjs/domande-colloquio/nestjs-modules-di.md): 20 domande, Mid-Level - [Configurazione e gestione degli ambienti](https://sharpskill.dev/it/technologies/node-nestjs/domande-colloquio/configuration-environment.md): 20 domande, Mid-Level - [Autenticazione JWT](https://sharpskill.dev/it/technologies/node-nestjs/domande-colloquio/authentication-jwt.md): 25 domande, Mid-Level - [Autorizzazione e RBAC](https://sharpskill.dev/it/technologies/node-nestjs/domande-colloquio/authorization-rbac.md): 20 domande, Mid-Level - [Database con TypeORM](https://sharpskill.dev/it/technologies/node-nestjs/domande-colloquio/database-typeorm.md): 30 domande, Mid-Level - [Prisma ORM](https://sharpskill.dev/it/technologies/node-nestjs/domande-colloquio/prisma-orm.md): 25 domande, Mid-Level - [Middleware e Interceptor](https://sharpskill.dev/it/technologies/node-nestjs/domande-colloquio/middleware-interceptors.md): 20 domande, Mid-Level - [Caricamento file](https://sharpskill.dev/it/technologies/node-nestjs/domande-colloquio/file-upload.md): 15 domande, Mid-Level - [WebSockets](https://sharpskill.dev/it/technologies/node-nestjs/domande-colloquio/websockets.md): 20 domande, Mid-Level - [GraphQL con NestJS](https://sharpskill.dev/it/technologies/node-nestjs/domande-colloquio/graphql-basics.md): 25 domande, Mid-Level - [Test end-to-end](https://sharpskill.dev/it/technologies/node-nestjs/domande-colloquio/testing-e2e.md): 20 domande, Mid-Level - [Caching con Redis](https://sharpskill.dev/it/technologies/node-nestjs/domande-colloquio/caching-redis.md): 20 domande, Mid-Level - [Code con Bull](https://sharpskill.dev/it/technologies/node-nestjs/domande-colloquio/queues-bull.md): 20 domande, Mid-Level - [DevOps, Logging e CI/CD](https://sharpskill.dev/it/technologies/node-nestjs/domande-colloquio/logging-monitoring.md): 25 domande, Mid-Level - [Docker e containerizzazione](https://sharpskill.dev/it/technologies/node-nestjs/domande-colloquio/docker-containerization.md): 25 domande, Mid-Level - [Microservices](https://sharpskill.dev/it/technologies/node-nestjs/domande-colloquio/microservices.md): 30 domande, Senior - [Migliori pratiche di sicurezza](https://sharpskill.dev/it/technologies/node-nestjs/domande-colloquio/security-best-practices.md): 25 domande, Senior - [Performance e deployment cloud](https://sharpskill.dev/it/technologies/node-nestjs/domande-colloquio/performance-optimization.md): 30 domande, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/it/technologies/node-nestjs/domande-colloquio/asynchronous-programming