ホームページ >ウェブフロントエンド >jsチュートリアル >「setTimeout」コールバックをPromiseに変換するにはどうすればよいですか?
問題:
非同期プログラミングでは、次のように変換すると有益な場合がありますプロミスへのコールバック。ただし、setTimeout のような非 Promise ベースの関数は、デフォルトではすぐに Promise を返しません。この記事では、setTimeout のような関数のコンテキスト内で使用できる Promise を作成する方法について説明します。
最初の考え:
提供された例では、setTimeout 関数を次のように定義します。コールバック。 Promise を作成するには、Promise コンストラクターの executor 関数内で setTimeout コールバックをラップする必要があります。
修正された解決策:
最新の JavaScript と Promises を使用して、次のコードを実行します。 setTimeout から Promise を作成する方法を示します:
function later(delay) { return new Promise(resolve => setTimeout(resolve, delay)); }
この後の関数は遅延を返し、指定された遅延後に解決される Promise を返します。その後、返された Promise を非同期コードで使用できます。
高度な考慮事項:
より高度なシナリオについては、後の関数の次のバリエーションを検討してください。
結論:
作成setTimeout などのコールバックからの Promise を使用すると、非同期操作をコードベースに簡単に統合できます。この手法の実装方法を理解することで、非同期 JavaScript アプリケーションの読みやすさと保守性を向上させることができます。
以上が「setTimeout」コールバックをPromiseに変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。