JavaScript コールバック: 非同期か非同期か?
JavaScript コールバックは普遍的に非同期ではありません。 addOne 関数や simpleMap 関数で指定した例など、特定のシナリオでは、コードは同期的に動作します。
ブラウザーの非同期 JavaScript
コールバックベースの AJAX 関数jQuery では、XHR (XMLHttpRequest) リクエストが関与するため、非同期であることがよくあります。デフォルトでは、ブラウザーの XHR リクエストは非同期であり、リクエストの処理中に継続的なスクリプトの実行が可能です。
Node.js の非同期 JavaScript
Node.js では、非同期動作は通常、ファイル I/O、process.nextTick、setTimeout、setInterval などの入出力 (I/O) 操作から発生します。 MongoDB/Mongoose によるコールバックベースのデータベース呼び出しは、データベースとの対話に関係する基礎となる I/O 操作により非同期になります。
事前に定義された非同期状況
非同期性は多くの場合発生します。環境に根付いています。ブラウザでは、XHR リクエストに関連付けられたコールバック関数は本質的に非同期です。 Node.js では、I/O 操作にリンクされたコールバックも同様に非同期です。
カスタム非同期関数
特定の環境関数のみに依存せずに、非同期動作を実現できます。 ES6 の約束を活用することで。 Promise は、非同期操作を定義するための言語レベルのメカニズムを提供します。 Promise にアタッチされたコールバック関数 (then と catch 経由) は常に非同期で実行され、Promise に続くコードがブロックされないようにします。
以上がJavaScript コールバックが非同期になるのはどのような場合ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。