回调函数之同步回调和异步回调
1. 什么是回调函数?
回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。
在JavaScript中,回调函数具体的定义为:函数A作为参数(函数引用)传递到另一个函数B中,并且这个函数B执行函数A。我们就说函数A叫做回调函数。如果没有名称(函数表达式),就叫做匿名回调函数。
2. 同步回调和异步回调
(1)同步回调
含义:立即执行,完全执行完了才结束,不会放入回调队列中
例子:数组遍历相关的回调函数 / Promise的excutor函数
下面用代码说明:
const arr = [1, 2, 3, 4, 5] arr.forEach(item => { console.log(item); }) console.log('forEach之后打印');
(2)异步回调
含义:不会立即执行,会放入回调队列中将来执行
例子:定时器回调 / ajax回调 / Promise的成功|失败的回调
请看代码:
setTimeout(() => { console.log('timeout callback'); }, 0) console.log('setTimeout之前');
关于同步回调和异步回调函数的更多相关理解请参考 https://www.cnblogs.com/still-smile/p/12048078.html