在使用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