Can I fire and forget a promise in node.js (ES7)?
Question:
Is it acceptable to run an asynchronous function without explicitly waiting for it using await in an async function in Babel?
Answer:
Yes, you can run asynchronous functions in parallel without awaiting them, which is known as "fire and forget." However, it's important to consider:
-
Unhandled rejections: If the promise is rejected, it will result in an unhandled rejection that can crash your application.
-
Clarity and explicitness: It's best practice to be clear and explicit about your expectations for asynchronous tasks.
How to disregard asynchronous tasks:
Depending on the scenario, there are different options to disregard asynchronous tasks:
-
Throw away the result: Use void (await someAsyncFunction()) or simply omit void for expression statements.
-
Ignore exceptions: Use someAsyncFunction().catch(function ignore() {}).
-
Execute in parallel: Use Promise.all([someAsyncFunction(), someOtherAsyncFunction()]) to execute multiple asynchronous functions in parallel, discarding the result from the first function.
The above is the detailed content of Can I Safely \'Fire and Forget\' Promises in Node.js?. For more information, please follow other related articles on the PHP Chinese website!