回调函数的分类
回调函数可以分为
- 同步回调函数
- 异步回调函数
同步回调函数
什么是同步的回调函数呢
- 简单的来说就是将这个函数回调函数执行完后,在去执行下面的代码
const arr = [1,2,3]
arr.forEach(item => {
console.log(item)
})
console.log('这时在forEach之后打印的字符传')
forEach
中的参数是一个典型的同步回调回调函数,按我们的分析应该是等他遍历完元素之后再去打印,我们看看结果
- 的确是在执行完同步回调函数后,在去执行的下面的代码
异步回调函数
什么是异步回调函数?
- 异步异步回调函数与同步回调函数相反,当检测到函数是异步回调函数的时候,他会先把回调函数放在一边,去执行下面的代码,执行完之后,在去执行他。
setTimeout(() => {
console.log("this before setTimeout")
})
console.log("this after setTimeout")
setTimeout
中的回调函数就是一个典型的异步回调函数,我们看看结果
- 正如我们所预测的一样
其实,这个是与js的事件机制有关。他会将一个异步回调函数放到一个回调队列中,当同步代码执行完毕后,在执行回调队列中的代码