async函数块之间如何同步执行?
请问多个async函数块之间如何同步的进行执行?
例子:以下两个async函数块如何顺序进行?
class Example {
first;
second;
constructor(){
}
async getFirstVal(){
this.first = await [一个promise]
}
async getSecondVal(){
this.second = await[一个依赖于first的promise]
}
async getOtherVal(){
this.other = await[一个promise]
}
doSomeWork(){
this.getFirstVal();
this.getSecondVal();
this.getOtherVal();
........
}
}
请问,怎么做才能保证doSomeWork里面的first和second这两个异步块顺序执行?
我不想将second这一部分的逻辑写入getFirstVal方法中,虽然这样能获得正确的执行顺序,因为getFirstVal可能在很多地方都会异步调用到,我想将他封装成一个单独的函数。请问有什么好的方法帮助我实现这种async块之间的顺序执行吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这样可以吗?优雅的方案也没太研究过,但是你可以 看看 Rxjs 或者 async 这些库,能得到比较好的思路