JavaScriptコールバック関数の同期と非同期実行
1000 ワード
シンクロ運転
同期(Synchronous)
:タスクが要求された場合、タスクが終了するまで待機し、次のタスクを実行します.
コードの例
非同期運転
非同期
:タスクを要求するときは、タスクの終了を待つのではなく、要求されたタスクの終了時に次の操作を行います.
コードの例
settimeoutでTimer 3000を指定すると、
3秒後運転(X)
3秒後にcallback queue(O)を挿入
すなわち、スタック内の実行ボディが空の場合、イベントループはコールバックキューで待機しているイベントまたはメソッドをスタックに挿入します.
同期(Synchronous)
:タスクが要求された場合、タスクが終了するまで待機し、次のタスクを実行します.
コードの例
function fakeSetTimeout(callback, delay) {
callback();
}
console.log("first");
fakeSetTimeout(function() {
console.log("second");
}, 0);
console.log("third");
コード結果first
second
third
非同期運転
非同期
:タスクを要求するときは、タスクの終了を待つのではなく、要求されたタスクの終了時に次の操作を行います.
コードの例
console.log("first");
setTimeout(() => {
console.log("second");
}, 3000);
console.log("third");
コード結果first
third
second
settimeoutでTimer 3000を指定すると、
3秒後運転(X)
3秒後にcallback queue(O)を挿入
すなわち、スタック内の実行ボディが空の場合、イベントループはコールバックキューで待機しているイベントまたはメソッドをスタックに挿入します.
Reference
この問題について(JavaScriptコールバック関数の同期と非同期実行), 我々は、より多くの情報をここで見つけました https://velog.io/@lseunghee/자바스크립트-콜백함수의-동기와-비동기-실행-yptyxts5テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol