asyncawait处理异步变同步(微信⼩程序内举例)
起什么作⽤?输出的是⼀个Promi对象
注:
1)async函数返回的是⼀个Promi对象。Async函数(包含函数语句、函数表达式、Lambda表达式)会返回⼀个Promi对象,如果在函数
中return⼀个直接量,async会把这个直接量通过e()封装成Promi对象。
2)async函数返回的是⼀个Promi对象,所以在最外层不能⽤await获取其返回值的情况下,我们当然应该⽤原来的⽅式:then()链来处理
这个Promi对象。
如果async函数没有返回值,⼜该如何?没有返回值就是undefined
总结:async函数在没有await的情况下执⾏async函数,它会⽴即执⾏,并且返回⼀个promi对象,并且绝不会阻塞后⾯的语句。
>await表达式会暂停当前asyncfunction的执⾏,等待Promi处理完成若Promi正常处理,其处理结果作为await表达式的值,继续执
⾏asyncfunction。若Promi处理异常(rejected),await表达式会把Promi的异常原因抛出。另外,如果await操作符号的表达式的值不是⼀
个Promi,那么该值将被转换为⼀个正常处理的Promi。
/await的优势在于处理then链
单⼀的Promi链并不能发现async/await的优势,但是,如果需要处理由多个Promi组成的then链的时候,优势就能体现出来
了(Promi通过then链来解决多层回调的问题,现在⼜⽤async/await来进⼀步优化它)
举例使⽤:(微信⼩程序中wepy框架)
异步变同步使⽤。
结果:先执⾏的do1,等do1完全执⾏结束然后是do2,最后是do3
本文发布于:2023-03-03 13:40:04,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/1677822005123665.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:微信同步.doc
本文 PDF 下载地址:微信同步.pdf
留言与评论(共有 0 条评论) |