JSの同期コールバック関数と非同期コールバック関数

1.同期コールバック関数

すぐに実行し、完全に実行された後も実行を継続し、コールバックキューに配置されません。

例えば:

  • アレイトラバーサルに関連するコールバック関数
  • エキサイター関数のPromise(new Promise()コンストラクター関数パラメーターPromiseに渡されたときに新しいオブジェクトを作成するために使用
//代码演示
let arr = [1,2,3];
arr.forEach(function (item) {
    
    //遍历回调,该同步回调函数不会放入列队,一上来就要执行完
  console.log(item);
})
console.log('forEach()之后');

出力結果:
ここに写真の説明を挿入


2.非同期コールバック関数

すぐには実行されず、将来の実行のためにコールバックキューに配置されます

例えば:

  • タイマーコールバック
  • ajaxコールバック
  • 成功または失敗のコールバックを約束する
//代码演示
setTimeout(function () {
    
    //该异步回调函数,会放在队列中
  console.log('setTimeout()正在执行');
},0);
console.log('setTimeout()之后');

//结果:先输出“setTimeout()之后”,最后输出“setTimeout()正在执行”

おすすめ

転載: blog.csdn.net/weixin_43974265/article/details/112494312