非同期プログラミングでは、メイン プログラム スレッドをブロックせずにコードを実行します。この手法は、ユーザー インターフェイスをフリーズさせずに、長時間実行されるタスクを処理するためによく使用されます。 Javascript では、非同期性を実現するのが難しい場合があります。
Background
次のコードを考えてみましょう:
<code class="javascript">$('#link').click(function() { console.log("Enter"); $('#link').animate({ width: 200 }, 2000, function() { console.log("finished"); }); console.log("Exit"); });</code>
ここで、animate 関数は非同期であるため、アニメーションの完了後に実行されるコールバック内のコード。したがって、プログラム フローは 2 つの分岐に「分岐」します。
カスタム非同期関数の作成
カスタム関数でこの動作を模倣するには、JavaScript の既存の非同期テクノロジを活用する必要があります。 。これらのテクノロジには、
例: setTimeout の使用
カスタムを作成している非同期関数は直接サポートされていません。setTimeout を使用してシミュレートできます。
<code class="javascript">function asyncFunct() { setTimeout(() => { console.log("finished"); }, 2000); }</code>
この関数は 2 秒の遅延後にコードを実行し、プログラム フローがブロックされずに続行できるようにします。
以上がJavaScript でカスタムの非同期関数を作成するにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。