同步和异步
异步编程:在执行一个可能长期运行的任务的同时,继续执行其他任务,而不必等待该任务完成后才执行其他任务
同步:浏览器按照代码的顺序一行一行的执行程序
耗时的同步函数:执行一段程序时,需要的时间很长,在该程序执行的这段时间内,用户不能进行其他任何任务,必须等待该程序执行完成后执行其他任务
最常用的异步程序:事件处理程序
异步编程的核心基础:Promise
Promise
Promise指由一个异步函数返回的,可以指明当前操作进行状态的对象
三种状态:待定 pending 初始状态、已兑现 fulfilled 执行成功、已拒绝 rejected 失败
.then() 每个then函数都会返回一个Promise对象,这个巨大的优点可以避免回调地狱,实现Promise链
.catch() 捕获并处理错误
Promise.all() 同时执行多个Promise,只有当每个Promise都成功后,才会在then中调用成功的回调,否则在catch中捕获错误
Promise.any() 只要多个Promise中有一个执行成功,即可执行then中成功的回调
async异步函数和await等待:await后跟一个Promise对象,