有一个异步获取数据的函数A,其他依赖这个A得到的数据的函数是否都必须是异步的?
现在是这样,函数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) => {...})
}
其中有一些递归循环依赖,复杂度增加后我感觉我要疯了,有没有其他好点的写法啊?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
可以用点函数式编程的写法:
尝试一下 ES7 的 async/await ?
或者 引入 async.js 库,前后端通用。
如果实时性和独立性要求都很高,那好像是没什么办法...不然可以尝试缓存a...看看其他人怎么说