现在是这样,函数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) => {...})
}
其中有一些递归循环依赖,复杂度增加后我感觉我要疯了,有没有其他好点的写法啊?
可以用点函数式编程的写法:
尝试一下 ES7 的 async/await ?
或者 引入 async.js 库,前后端通用。
如果实时性和独立性要求都很高,那好像是没什么办法...不然可以尝试缓存a...看看其他人怎么说