89500297 2020-04-25
什么是回调函数:
自定义的函数,不手动调用。某个函数运行期间来调用的自定义函数
同步回调:
立即执行,完全执行完了才结束,不会放入回调队列中
栗子:
数组遍历相关的回调函数/Promise的excutor函数
const arr = [1, 2, 5, 3] // 遍历时的箭头函数,我没有调用 arr.forEach(item => { //遍历回调,同步回调函数不会放入队列,一上来就会执行完 console.log(item) }) console.log(‘forEach之后‘) // 运行结果:1 2 3 5 forEach之后
异步回调:
不会立即执行,会放入回调队列中将来执行
栗子:
定时器回调/ajax回调/Promise的成功、失败的回调
setTimeout(() => { //异步回调函数会放入队列中将来执行 console.log(‘timeout callback()‘) },0) console.log(‘setTimeout之后‘) // 运行结果:setTimeout之后 timeout callback() // 尽管定时器设置为了0