asyncawait是什么?有哪些优势?
从⽬前的内部实现来说a sync其实就是 Genera to r函数的语法糖。它基于 Pr o mise,并与
r函数的语法糖。它基于 Pro m ise,并与所有现存的基于Pr o m ise 的 API 兼容。
1.async 关键字
①async 关键字⽤于声明
异步函数(如 async function asyncTask1() {...})
声明⼀个异步函数
返回值也是⼀个 Promise 对象
②async 会⾃动将常规函数转换成 Promise,返回值也是⼀个 Promise 对象
③async 函数内部可以使⽤ await
2.await 关键字
await和async使用方法
① await ⽤于等待异步的功能执⾏完毕 var result = await someAsyncCall()
Promise 调⽤之前,会强制async函数中其他代码等待,直到 Promise 完成并返回结果
②await 放置在 Promise 调⽤之前
③await 只能与 Promise ⼀起使⽤
④await 只能在 async 函数内部使⽤
相较于 Pro m ise,a sync/a w a it有何优势?
相较于 Pr o mise,a
1.同步化代码的阅读体验(Promise 虽然摆脱了回调地狱,但 then 链式调⽤的阅读负担还是存在的)
2.和同步代码更⼀致的错误处理⽅式( async/await 可以⽤成熟的 try/catch 做处理,⽐ Promise 的错误捕获更简洁直观)
3.调试时的阅读性, 也相对更友好
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论