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

您的位置:首頁技術(shù)文章
文章詳情頁

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

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

問題描述

現(xiàn)在是這樣,函數(shù)a是Promise異步返回數(shù)據(jù),其他很多函數(shù)需要用到這個數(shù)據(jù),我現(xiàn)在是每個依賴這個數(shù)據(jù)的函數(shù)都要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) => {...})}

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

問題解答

回答1:

可以用點函數(shù)式編程的寫法:

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
主站蜘蛛池模板: 久久毛片网站 | 国产一区二区播放 | 午夜一区二区免费视频 | 国产亚洲精品成人a在线 | 精品一成人岛国片在线观看 | 五月婷婷六月丁香综合 | 台湾一级毛片免费播放 | 欧美日韩无线在码不卡一区二区三区 | 性生活毛片 | 久久国产精品系列 | 免费黄色三级 | 国产精品久久久久久久久久妇女 | 麻豆传煤一区免费入 | 成人免费网站视频 | 亚洲成人第一 | 国产福利在线观看第二区 | 九九免费高清在线观看视频 | 午夜三级黄色片 | 国产欧美性综合视频性刺激 | 特黄一级 | 亚洲精品在线免费看 | 网友自拍视频精品区 | 亚洲福利一区二区 | 久久成人性色生活片 | 91短视频在线 | 高清免费国产在线观看 | a毛片毛费观看 | 国产精品九九 | 久久精品国产这里是免费 | 成人伊人青草久久综合网破解版 | 国产亚洲精品久久麻豆 | 欧美色碰碰碰免费观看长视频 | 亚洲欧美国产另类 | 久久七| 91精品国产亚一区二区三区 | 毛片女人毛片一级毛片毛片 | 香蕉免费网站 | 亚洲欧美日韩精品在线 | 夜夜爱成人免费网站 | 久久婷婷五月综合色丁香 | 91在线 在线播放 |