1、什么是异步?
定义:异步是相对于同步来说的;同步表示的是当前事件未执行完毕,后续函数无法执行,需等待当前函数执行完毕后再执行;异步函数表示的是独立于主程序流发生的,好像计算机可以同事执行多个任务。
JavaScript语言:
js语言是单线程的,在同一时间内只能执行一件事;
但是 JavaScript 诞生于浏览器内部,一开始的主要工作是响应用户的操作,例如 onClick
、onMouseOver
、onChange
、onSubmit
等。 使用同步的编程模型该如何做到这一点?答案就在于它的环境。 浏览器通过提供一组可以处理这种功能的 API 来提供了一种实现
方式。更近点,Node.js 引入了非阻塞的 I/O 环境,以将该概念扩展到文件访问、网络调用等
2、回调
你不知道用户何时单击按钮。 因此,为点击事件定义了一个事件处理程序。 该事件处理程序会接受一个函数,该函数会在该事件被触发时被调用:
document.getElementById('button').addEventListener('click', () => {
//被点击
})
对事件添加一个监听,当事件发生的时候在执行的函数就是回调函数;回调函数简单就是将函数作为参数传递给另一个函数
3、处理回调函数的错误
在使用中经常发现传递回调函数的时候,回调函数中的参数列表中经常会有一个err参数,这既是回调函数错误对象
如果有错误对象,错误对象必须是参数列表的第一个,如果没有默认为null