JS中的同步回调函数和异步回调函数

1. 同步回调函数

立即执行, 完全执行完了才继续往后执行, 不会放入回调队列中

例如:

  • 数组遍历相关的回调函数
  • Promise的excutor函数(在使用 new Promise() 创建一个新对象的时候,传递给Promise构造函数的那个函数参数)
//代码演示
let arr = [1,2,3];
arr.forEach(function (item) {
     //遍历回调,该同步回调函数不会放入列队,一上来就要执行完
  console.log(item);
})
console.log('forEach()之后');

输出结果:
在这里插入图片描述


2. 异步回调函数

不会立即执行, 会放入回调队列中等待将来执行

例如:

  • 定时器回调
  • ajax回调
  • Promise的成功或失败的回调
//代码演示
setTimeout(function () {
     //该异步回调函数,会放在队列中
  console.log('setTimeout()正在执行');
},0);
console.log('setTimeout()之后');

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

你可能感兴趣的:(JS,javascript,前端)