在使用react时的异步问题解决

在时用react时, 常常会出现在创建一个对象后, 对象还没有创建完成就被使用的异步问题, 介于这种问题, 一种解决方法就是使用Promise, 将需要被等待的那一步放到Promise中, Promise会强制等这步执行完才会进行下一步, 例如

 1 new Promise((resolve, reject) => {
 2     const amaps = AMap.service(['AMap.PlaceSearch'], () => {
 3         placeSearch = new AMap.PlaceSearch({ // 构造地点查询类
 4             pageSize: roadSize,
 5             pageIndex: roadPage,
 6             city: '0571',
 7             map: gdMap,
 8         });
 9     });
10     resolve(amaps);
11 }).catch((error) => {
12     reject(error);
13 }).then((json) => {
14     console.log(json, placeSearch);
15 });
16 placeSearch.search(param, (status, result) => {
17     if (roadData.length > 0) {
18         for (let i = 0; i < 10; i += 1) {
19             ......
20         }
21     });
22 }

以上代码, 在Promise中, 只有等里面所有的对象都被创建完成了, 才会继续往下执行, 以达到同步的效果

转载于:https://www.cnblogs.com/yanwu0527/p/8617941.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值