午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

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

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

瀏覽:232日期: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
主站蜘蛛池模板: 国产男女猛烈无遮挡在线喷水 | 午夜伦理网 | 欧美在线一 | 亚洲性夜 | 2018天天干天天操 | 久久伦理片 | 一区二区三区中文字幕在线观看 | 欧美日韩一区二区三区四区五区六区 | 激情国产在线 | 日产精品久久久一区二区 | 国产精品视频久久久久久久 | 成人永久免费视频 | 成人一级视频在线观看 | 免费黄色高清视频 | 欧日韩视频 | 黄色国产网站 | 欧美一级视频免费 | 国产高清一区 | 91欧美大片| 四虎在线视频 | 激情亚洲视频 | 婷婷av网 | 爱爱久久| 中文字幕在线免费观看视频 | 日本一区免费观看 | 日韩一区二区三区免费观看 | 四虎影库 | 欧美午夜在线 | 中文第一页 | 中文字幕在线网站 | 91尤物国产福利在线观看 | 日本免费精品 | 亚洲色图欧美 | 国产精品v亚洲精品v日韩精品 | 中文字幕永久在线观看 | 又色又爽又黄gif动态图 | 久久国产精彩视频 | 在线观看日韩欧美 | 久久视奸| 亚洲精品综合 | 亚洲福利视频网站 |