土拨鼠1号 2022-02-18 08:52 采纳率: 60%
浏览 472
已结题

Vue3中,如何等待异步请求结束后再接着往下运行程序

img


写了个伪代码,我描述下问题:
我在setup()中发送了个异步请求,返回了数据,然后下面用到了这个数据,但是值不对,我想应该是异步请求尚未结束,就已经运行到下面了,导致值为变量的初始值,这个该如何解决?

  • 写回答

3条回答 默认 最新

  • @胡海龙 2022-02-18 09:27
    关注
    
    setup() {
        const number = ref(0);
        axios.get('xxx').then((res)=>{
            number.value = res.data.Data;
            const flag = number.value > 3;
            .....(更多逻辑)
        })
    }
    

    直接then里面就好,这种事可以保证请求成功后执行的,更多逻辑也可以抽成一个函数放到里面

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    土拨鼠1号 2022-02-18 10:18

    我这个flag需要retrun 出去, 还能再放在这个里面么

    回复
    @胡海龙 回复 土拨鼠1号 2022-02-18 14:28

    可以,把return放到更多逻辑后面就行,只要都在then里面就好

    回复
    土拨鼠1号 回复 @胡海龙 2022-02-21 05:31

    setup里面的return会在异步请求之后的嘛,不会按顺序执行下去直接retrun出去了么?

    回复
    展开全部8条评论
查看更多回答(2条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 3月3日
  • 已采纳回答 2月24日
  • 创建了问题 2月18日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部