小程序中使用async

小程序中使用async,第1张

    在小程序开发时,衡胡我们请求数据,就需要使用promise或者async处理异步请求,避免掉入回调地狱。而async号称是解决回调地狱的最终方案,平时我也是比较喜欢使用的,但是作为es7的语法,小程序的开掘判发者工具貌似不支持es7

那么要如何让开发工具支持呢?

(注:不可全局引入,否则无效)

该方法存在兼容性,若要适配某些旧的手机或者小程序时,请勿使用判拦改本方法

2.使用promise处理异步

3.使用async

1.在小程序根目录用npm init命令生成package.json文件

2.安装依赖:npm i regenerator-runtime -S; 注意:-S表示装在dependencies依赖下空雀面,后续纯亏缓做模步骤中,小程序npm构建是读dependencies字段的;

在需要使用async、await关键字的地方引入regenerator-runtime

有很多 async 的面试题,例如

等虚氏等,需要找出一个规律

用同步的方式,编写异步。

和 Promise 的关系

async函数返回结果都是Promise对象(如果函数内没返回盯槐Promise,则自动封装一下)

await后面跟Promise对象:会阻断后续代码,等待状态变为resolved,才获取结果并继续执行

await后续跟非Promise对象:会直接返回

总结来看:

异步本质

await是同步写法, 但本质还是异步调用

即,只要遇到了await,后面的代码都相当于放在 callback 里。

for...of

定时算乘法

执行 async 函数执行返回的是 Promise 对象

await 相当于 Promise 的 then

try...catch 可捕获异常,代替 Promise 的 catch

右上图差则散解读: async返回Promise,await返回then,await后面报错会终止执行,可以用try...catch来捕获


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12343996.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存