JS 异步编程之 aync await
JS异步编程的几种方式:
1、回调函数 (回调函数会陷入层层嵌套,即回调地狱,在此不再说明)
2、定时器(setTimeout、setInterval)
4、promise (回看我关于promise博文)
3、async await (async/await是 ES8 的新特性,基于 promise 实现)
3.1:async 函数返回一个promise 对象(注意一定要 return ,否则会返回undefiend),可以进行 .then() 回调
3.2:async 就是异步的意思,表示它不会阻塞后面代码的执行
3.3:await 意思是等待, await只能放在async函数里面
3.3.1:如果await 后面接的是一个 promise函数,他会阻塞async里代码执行,等待promise函数返回promise对象之后再执行async里代码
3.3.2:如果 await 后面不是接的promise函数,它不会阻塞 async 里代码执行(同时执行,失去了异步的意义)