在开发中,异步事件是项目必然需要处理的一个环节,也因为前端框架的崛起,通过框架实现的 SPA 已是快速开发的基本了,异步获取数据也就成了不可或缺的一环。
同步?异步?
这两个名次从字面上很容易让人反过来理解
同步:指一件一件做事;
异步:很多事情同时处理;
类似过桥.同步是独木桥只能一个一个的过,异步是有多座桥,可同时过。
那么在 js 中处理异步事件的方法是什么呢?
1.回调函数
最熟悉的就是回调函数了。例如网页与用户进行互动时,就需要接收一个回调函数;如setTimeout
,也都能通过传递回调函数在用户要求的时机去触发。先看例子:
function timeoutCallback(() {
console.log('start')
setTimeout(() => {
console.log('callback')
}, 1000)
console.log('done')
}
timeoutCallback()
在 setTimeout
被执行后,当过了指定的时间间隔之后,回调函数会被放到队列的末端,再等待事件处理它。
回调函数虽然在开发中十分常见,但也有许多难以避免的问题。例如最著名的“回调地狱”。
2.Promise
在 ES6 之后出现了 Promise,拯救了身陷在地狱的我们。
function matexiaPromise() {