ホームページ > 記事 > ウェブフロントエンド > JavaScript でのエラー処理に Async/Await と .then/.catch を併用できますか?
Async/Await と .then/.catch の使用
Async/await と .then/.catch は両方とも JavaScript のエラー処理メカニズムです。 async/await はより簡潔で最新ですが、.then/.catch も依然として実行可能なオプションです。これらを一緒に使用すると利点や欠点はありますか?
提供されたコード スニペットは、両方のメカニズムを組み合わせて使用するシナリオを示しています。ただし、答えは、try/catch を async/await と .catch の組み合わせに置き換えることを提案しています。これにより、コードが簡略化され、async 関数によって確立された同期スコープ内にコードが保持されます。
例を次に示します。
<code class="javascript">async function asyncTask() { throw new Error('network'); } async function main() { const result = await asyncTask().catch(error => console.error(error)); console.log('result:', result); } main();</code>
この例では、asyncTask はエラーをスローし、これは async 関数によって処理されます。 async メソッド main 内の .catch ブロック。エラーはコンソールに記録されますが、実行は次の行に進みます。関数は明示的な値を返さなかったため、結果変数は未定義に設定されます。
結論としては、 async/await と の両方を使用しているときです。 then/.catch を一緒に使用しても害はありません。一般に、非同期関数内のエラー処理には、より簡潔で最新の async/await と .catch の組み合わせを使用することをお勧めします。このアプローチにより、コードのコンパクトさが保証され、async キーワードによって確立された同期スコープが維持されます。
以上がJavaScript でのエラー処理に Async/Await と .then/.catch を併用できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。