国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

javascript - async/await 中await接收的promise的問題

瀏覽:115日期:2023-09-15 16:25:48

問題描述

在async/await中,await接收的需要是一個promise對象,那么我這樣寫:

async getAddressList () {this.list = await AreaSvr.getList(320100); }getAddressList().catch((err) => { ... });

AddressSvr.getList = function (pid) { return new Promise((resolve, reject) => { Vue._http.get(’area/get’, {pId: pid}).then( res => {resolve(res.Data); }, err => {reject(err); }); })};

這樣是沒有問題的,AreaSvr.getList中返回的是一個promise對象。現(xiàn)在我把AreaSvr.getList封裝一下,加一個緩存:

let areaList = [];AddressSvr.getAreaList = (level, pid) => {// 接收等級跟pid兩個參數(shù),如果已有areaList或者相關二級list,直接返回Promise.resolve(...) if (level === 1 && areaList.length !== 0) { return Promise.resolve(areaList) } else if (level === 2) { for (let i = 0; i < areaList.length; i++) { if (areaList[i].AreaId === pid && areaList[i].children.length !== 0) {return Promise.resolve(areaList[i].children) } } } // 這里對之前的http請求AddressSvr.getList進行封裝,在獲取到相關值之后,進行緩存并且返回 return new Promise(// 返回一個promise對象,讓await來接收 (resolve, reject) => { AddressSvr.getList(pid).then(res => { if (level === 1) { areaList = res;// 緩存areaList return resolve(areaList); //返回 } for (let i = 0; i < areaList.length; i++) { if (areaList[i].AreaId === pid) { areaList[i].children = res;// 緩存子列表 return resolve(areaList[i].children);// 返回 } }}, err => { reject(err);} ); } );};

async getAddressList () {this.list = await AreaSvr.getAreaList(1, 320100);//這里傳入等級,使用加了緩存的函數(shù)if (this.list.length !== 0) { this.childList = await AreaSvr.getAreaList(2, this.list[0].AreaId);} }

在這里,我在AddressSvr.getList的外面封裝了一層promise做了緩存,這時候await接收的是AddressSvr.getAddressList 這個函數(shù)返回的promise了,但是這個時候返回的promise無效,直接catch到error了,請問一下我哪邊寫的有問題?

問題解答

回答1:

如果直接catch了,說明寫法沒有問題,可能是業(yè)務部分出錯了,可以把error信息貼出來看看

回答2:

我在上面判斷是否有緩存的地方用的是areaList[i].children.length !== 0,這個時候還沒有children,是undefind,所以會報錯。這個不是async/await的用法問題,是我自己寫錯了。

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 免费一级毛片在播放视频 | 亚洲欧美一区二区久久香蕉 | 成人午夜免费在线观看 | 亚洲欧美久久精品1区2区 | 久久精品视频9 | 国产成人综合亚洲 | 日本道在线播放 | 国产成人午夜性a一级毛片 国产成人午夜性视频影院 国产成人香蕉久久久久 | 杨幂国产精品福利在线观看 | 久久精品国产线看观看亚洲 | 美女一级毛片免费看看 | 国产日韩欧美综合在线 | 日本久久99 | 国产精品毛片一区二区三区 | 特级a欧美孕妇做爰片毛片 特级a欧美做爰片毛片 | 久久久国产在线 | 免费一级毛片无毒不卡 | 久久精品国产大片免费观看 | 亚洲国语 | 久久精品香蕉视频 | 日本精品久久 | 日本久久久久一级毛片 | 日韩特级毛片免费观看视频 | 麻豆69堂免费视频 | 国产区一区二区三区 | 欧美一区二区三区免费播放 | 偷看各类wc女厕嘘在线观看 | 午夜影院欧美 | 久久网免费视频 | 国内精品免费一区二区三区 | 国产三级a三级三级午夜 | 一区不卡在线观看 | 欧美成人免费观看的 | 日韩中文字幕精品久久 | 亚洲精品成人一区二区aⅴ 亚洲精品成人一区二区www | 在线欧美视频 | 99精品这里只有精品高清视频 | 久久草在线视频免费 | 欧美特黄视频在线观看 | 亚洲国产精品综合久久一线 | 久久99精品久久久久久三级 |