亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

javascript - 有一個異步獲取數據的函數A,其他依賴這個A得到的數據的函數是否都必須是異步的?

瀏覽:130日期:2023-02-16 08:34:38

問題描述

現在是這樣,函數a是Promise異步返回數據,其他很多函數需要用到這個數據,我現在是每個依賴這個數據的函數都要a().then()這樣處理

function a() { return new Promise((resolve, reject) => { .... })}function getsub(id) { return a() .then((data) => {return ..... }) .catch((err) => {...})}function tree(id) { return a() .then((data) => {return ..... }) .catch((err) => {...})}

其中有一些遞歸循環依賴,復雜度增加后我感覺我要瘋了,有沒有其他好點的寫法???

問題解答

回答1:

可以用點函數式編程的寫法:

function mapData(call) { return () => a() .then((data) => call(data)) .catch((err) => call(null, err))}function sub(data, err) { ... }function sub2(data, err) { ... }function sub3(data, err) { ... }const getsub = mapData(sub)const getsub2 = mapData(sub2)const getsub3 = mapData(sub3)回答2:

嘗試一下 ES7 的 async/await ?或者 引入 async.js 庫,前后端通用。

回答3:

如果實時性和獨立性要求都很高,那好像是沒什么辦法...不然可以嘗試緩存a...看看其他人怎么說

標簽: JavaScript
主站蜘蛛池模板: 日本一本在线视频 | 成人免费视频在 | 天堂tv亚洲tv日本tv不卡 | 一级片免费视频 | 国产二区精品视频 | 成年女人色费视频免费 | 亚洲成人黄色在线 | 国产在线91区精品 | 亚洲欧美中文日韩二区一区 | 久久青青草原精品无线观看 | 偷亚洲偷国产欧美高清 | 国产精品精品国产一区二区 | 亚洲第一国产 | 18美女福利视频网站免费观看 | 97福利社 | 日本一级特黄aa毛片免费观看 | 一区二区三区在线观看视频 | 久久国产在线视频 | 国模沟沟一区二区三区 | 欧美精品在线一区二区三区 | 久久久久久久久久久9精品视频 | 久久777国产线看观看精品卜 | 国产好大好爽久久久久久久 | 国产精品青草久久久久福利99 | 麻豆传媒免费视频 | 免费看污又色又爽又黄视频 | 久久久9999久久精品小说 | 色男人的天堂 | 国产91久久最新观看地址 | 国产日本在线 | 国产成年人网站 | 国产69精品久久久久9牛牛 | 亚洲综合欧美色综合小说 | 外国一级黄色毛片 | 免费一级毛片在级播放 | 农村寡妇特一级毛片 | 久久就是精品 | 欧美特黄一级高清免费的香蕉 | 91香蕉视频在线观看免费 | 看黄色一级大片 | 欧美日韩久久 |