Junior — Middle
How can the execution of asynchronous tasks be controlled in software systems?
sobes.tech AI
Answer from AI
In Node.js, asynchronous tasks are controlled using several approaches:
- Callbacks — passing a callback function that is called after the operation completes.
- Promises — objects representing the result of an asynchronous operation, allowing chaining with
.then()and error handling with.catch(). - async/await — syntactic sugar over promises, enabling writing asynchronous code in a synchronous style.
To control execution, you can use:
- Promise.all() — waiting for multiple promises to complete.
- EventEmitter — subscribing to events and reacting to them.
- Queue management libraries (e.g.,
async) that allow limiting the number of tasks running simultaneously.
Example with async/await:
async function fetchData() {
try {
const data = await someAsyncOperation();
console.log(data);
} catch (error) {
console.error(error);
}
}
fetchData();