ホームページ > ウェブフロントエンド > jsチュートリアル > プロミスチェーンを待つべきか?

プロミスチェーンを待つべきか?

DDD
リリース: 2024-11-25 13:32:11
オリジナル
554 人が閲覧しました

Should You Await Promise Chains?

Promise チェーンの待機: 潜在的な落とし穴

特定のコンテキスト、特に Angular 6 アプリケーションでは、Promise チェーンを待機しないことが推奨されています。この一見冗長なアプローチは、その潜在的な結果について疑問を引き起こします。

プロミス チェーンの問題

次のコード スニペットは、問題のアンチパターンの例です。

await someFunction().then(result => {
    console.log(result);
});
ログイン後にコピー

このコードは、someFunction() によって返される Promise を不必要にラップしています。 Promise.then を待ってからチェーンします。

代替ソリューション

より簡潔で簡単なアプローチは、単に Promise を直接待つことです。

const result = await someFunction();
console.log(result);
ログイン後にコピー

約束を避ける理由連鎖?

両方のスニペットは同じ結果を達成しますが、最初のスニペットは混乱と潜在的なバグを招きます:

  • 明瞭さの低下: await と連鎖の混合Promise は読みやすさを妨げる可能性があります。
  • 矛盾したエラー処理: 最初のスニペットのエラーを処理する方法が不明瞭です。
  • 制限された制御フロー: 連鎖コールバック内の条件付き戻りまたは追加の Promise 呼び出しにより、あいまいさが生じ、コードのロジックが複雑になる可能性があります。 .

一貫性とはKey

一貫性を維持し、潜在的な落とし穴を回避するために、Promise を直接待つというより単純なアプローチを選択することをお勧めします。これは、非同期関数では then よりも await を優先するという一般的なルールと一致しています。

ルールの例外

一般的には await が優先されますが、例外も存在します。エラー処理の特定のケースでは、Promise Chaining がよりクリーンで簡潔なアプローチを提供する場合があります。

以上がプロミスチェーンを待つべきか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート