两种类型的回调函数(同步回调与异步回调)
同步回调:
立即执行,直到执行完才结束,不会放入回调队列中
如:数组遍历相关的回调函数 / Promise 的 excutor函数
打印输出在后面执行,遍历回调没有放入回调队列中
异步回调:
不会立即执行,会放入回调队列中将来执行
如:定时器回调 / ajax回调 / Promise 的成功(失败)的回调
打印输出先执行,setTimeout 中的回调放入回调队列中排队将来执行
promise.then 就是一个异步回调