JavaScript での Async/Await と .then() の混合
質問:
両方の async を使用することをお勧めしますか以下に示すように、/await と .then().catch() は同じ非同期関数内にありますか?
async apiCall(params) { var results = await this.anotherCall() .then(results => { //do any results transformations return results; }) .catch(error => { //handle any errors here }); return results; }
回答:
async/await と .catch() を一緒に使用すると、次のことが可能になります。 JavaScript での簡潔かつ効率的なエラー処理。その理由は次のとおりです:
コンパクト コード:
Async/await を使用すると、非同期コードで同期のようなシーケンシャルな構文を使用できるようになり、.catch() はエラー処理を処理します。この 2 つを組み合わせることで、try/catch ブロックを必要とせずに、クリーンで一貫性のあるエラー管理を実現できます。
例:
次の例を考えてみましょう:
<code class="js">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 関数がネットワーク エラーをスローしますが、これは .catch() ブロックによって適切に処理されます。エラーはコンソールに出力され、メイン関数に影響を与えることなくコードの実行が続行されます。
利点:
async/await と .catch() を一緒に使用する
ただし、async/await と .then() を不必要に混在させると、不必要な複雑さと潜在性が生じる可能性があることに注意することが重要です。コールバック地獄。したがって、一般的には、必要な場合にのみ async/await と .catch() を使用することをお勧めします。
以上がJavaScript で async/await と .then() を組み合わせると有益ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。