乐趣区

关于javascript:回调函数到promise再到理解asyncawait

推特上有人发了个”在 7 秒内了解 async/await“的视频,地址看这里

拆分成就是写法的变动:回调函数 -> promise -> async/await

js 天生反对异步,如果你的数据依赖于异步申请,那么须要在它的回调中获取,一旦写的多了,就造成了回调天堂,如下图所示

起初,ES6 出了 promise,promise 的意思是承诺,情景如下:

未婚妻:你肯定要回来!

进来打战的士兵:I promise

这样写法上就有个先后顺序,不必再嵌套,而是串联(但换行之后看起来也很清晰)

promise 的问题在于,它的语境还是异步,当 getDate 拿到数据后做事件(then)

人的惯性思维是同步,即写就写了,开心就开心了,怒就怒了,没有说等五秒后再笑

所以 promise 是虽好,但能够再换个写法——async/await

async/awiat 是绑定在一起的,缺一不可

const a = await getData() 其中的 a 就是申请数据拿到的后果,从了解上更合乎人的思维

退出移动版