在使用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中, 只有等里面所有的對象都被創建完成了, 才會繼續往下執行, 以達到同步的效果


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM