鸿蒙应用开发将Promise的多个异步处理改成同步处理,解决回调地狱问题

一.背景

其实在实践过程中大家会发现鸿蒙中的很多api都是异步的,我们如果用异步开发的步骤需要在回调中进行处理,如果有多个异步操作就会嵌套多层,这样看起来代码很紊乱。如果是在for循环中添加多个异步操作,则数据会造成紊乱,因为是异步操作for循环不会等待异步操作完成再进行下一个循环,他会立即进入循环,所以就会出现数据紊乱

二.解决方案

要将上述异步代码转换为同步执行以避免数据紊乱,可以考虑使用async/await语法,这可以让异步代码看起来更像同步代码,并且更容易控制执行顺序。

具体方式是在调用返回值为Promise的方法前面加上await,并将这些异步转成同步的代码块封装成一个方法,在前面加上async关键字,如下:

注意此方法processVolumes执行完成需要在then中监听,如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

龚礼鹏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值