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

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

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

瀏覽:240日期: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)依賴,復(fù)雜度增加后我感覺我要瘋了,有沒有其他好點的寫法啊?

問題解答

回答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...看看其他人怎么說

標(biāo)簽: JavaScript
主站蜘蛛池模板: 手机在线精品视频 | 国产一区二区三区网站 | 亚洲a毛片 | 国产精品视频区 | 美国黄色网| 欧美一区二区视频在线观看 | 国产精品毛片va一区二区三区 | 国产精品99在线观看 | 国产伊人久久 | 国产精品图片 | 国产黄色成人 | 成人香蕉视频在线观看 | 成人免费片 | 日韩成人精品一区二区 | 欧美日韩在线视频观看 | 青草全福视在线 | 国产成人精品视频 | 国内毛片毛片毛片 | 欧美亚洲国产一区二区三区 | 少妇精品一区二区三区 | 国产a级免费视频 | 成人性生活毛片 | 日韩欧美亚洲一区二区三区 | 免费观看黄色一级视频 | 欧美色综合 | 成年人视频网 | 成人无高清96免费 | 日本在线视频一区二区三区 | 婷婷色中文网 | 日韩免费中文字幕 | 国产午夜手机精彩视频 | 99在线视频免费 | 欧美性猛交xxxx乱 | 91在线视频免费 | 久久丝袜视频 | 欧美激情精品久久久久久蜜臀 | 九九资源站 | 天堂综合网久久 | 国产黄页 | 亚洲色图清纯唯美 | 国产做a视频|