前端异步的解释-概念性
Promise
三种状态
pending resolved rejected
pending —> resolved 或 pending —> rejected
变化不可逆
Promise
状态表现
pending 状态,不会触发 then 和 catch
resolved 状态,会触发后续的 then 回调函数
rejected 状态,会触发后续的 catch 回调函数
then
和 catch
改变状态
then 正常返回 resolved , 里面有报错则返回 rejected
catch 正常返回 resolved,里面有报错则返回 rejected
async
和 await
异步回调
callback hell
Promise then catch
链式调用,但也是基于回调函数async/await
是同步语法,彻底消灭回调函数
async/await
和 Promise
的关系
async/await
是消灭异步回调的终极武器但和
Promise
并不互斥反而,俩者相辅相成
执行
async
函数,返回的是Promise
await 相当于
Promise
的 thentry...catch
可捕获异常,代替了Promise
的catch
异步本质
async
/await
是消灭异步回调的终极武器JS还是单线程,还得是有异步,还得是基于
event loop
async
/await
只是一个语法糖
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: