为何使用async的await无法暂停后续代码的执行

为何使用async的await无法暂停后续代码的执行
如图所示,我想通过await先执行modalFormOk里面的方法后再继续以下代码的执行,modalFormOk的作用是打开一个新的页面(以弹窗的方式),我在新的弹窗里面有一个发送短信的方法,我想等发送完短信再执行httpAction方法,可是无法实现,请问各位大佬这是什么情况呢

最佳答案

此问题已解决,解决方案如下

file
因为我的业务有关联到三个组件的数据传递,所以我采用了Promise将结果返回给他的父组件,如下图

file
这边用await this.$refs.realForm.submitForm()来接收刚刚子组件返回的data,并且通过$emit再转回给本组件的父组件(其实就是三个组件之间的套娃),但是要注意一下的是用$emit的时候,要进行监听

file

file
最后返回到最终父组件的时候,在监听的执行方法写自己要执行的方法就可以了

file

6个月前 评论
讨论数量: 5

没大佬,打个∠先

6个月前 评论

用回调。不然需要按Promise的逻辑来写函数

6个月前 评论

你需要按 Promise 的逻辑来改写 modalFormOk ,并在用户保存信息 按钮点击后 resolve 返回。

6个月前 评论
suhuaqingye (楼主) 6个月前

此问题已解决,解决方案如下

file
因为我的业务有关联到三个组件的数据传递,所以我采用了Promise将结果返回给他的父组件,如下图

file
这边用await this.$refs.realForm.submitForm()来接收刚刚子组件返回的data,并且通过$emit再转回给本组件的父组件(其实就是三个组件之间的套娃),但是要注意一下的是用$emit的时候,要进行监听

file

file
最后返回到最终父组件的时候,在监听的执行方法写自己要执行的方法就可以了

file

6个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!