node.js (ES7) で Promise を起動して忘れることはできますか?
質問:
は受け入れられますか?明示的に待機せずに非同期関数を実行するには、async 関数で await を使用します。 Babel?
答え:
はい、非同期関数を待たずに並列実行できます。これは「ファイア アンド フォーゲット」として知られています。ただし、次の点を考慮することが重要です。
-
未処理の拒否: Promise が拒否されると、未処理の拒否が発生し、アプリケーションがクラッシュする可能性があります。
- 明確さと明示性: 非同期に対する期待を明確かつ明示的に示すことがベスト プラクティスです。タスク。
非同期タスクを無視する方法:
シナリオに応じて、非同期タスクを無視するさまざまなオプションがあります:
-
結果を破棄します: void を使用します (await someAsyncFunction()) するか、単に式ステートメントの void を省略します。
-
例外を無視します: someAsyncFunction().catch(functionignore() {}) を使用します。
-
並列実行: Promise.all([someAsyncFunction(), someOtherAsyncFunction()]) を使用します複数の非同期関数を並行して実行し、最初の関数の結果を破棄します。
以上がNode.js で「Fire and Forget」の約束を安全に実行できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。