回调
是 JavaScript 异步编程的设计模式,这种模式延续了很多年,直到 Node.js
的出现,把 JavaScript 推向了服务端领域,处理更复杂的业务场景,才有了之后的 Promise
、async await
,我们前面演示的异步代码,实际都是通过 回调执行
。
// 回调函数
function f() {
console.log('callback')
}
setTimeout(f, 1000) // 阻塞 | 假设它在做一个 “网络请求”
console.log('...')
回调的实现方式也很简单,就是通过传入一个回调函数
,只是,当业务复杂时,一层又一层的回调,在回调函数里在嵌套回调函数,会显得代码混乱不够优雅,甚至得名 地狱回调
。