是否有方法可以中断Vue3`<script setup>`的执行?

作者站长头像
站长
· 阅读数 15

如标题描述,是否有方法可以中断Vue3<script setup>的执行?

composition api中script setup代替了beforeCreate、created,在options api中,我们可以在created中请求后端接口,然后根据返回的结果来决定是否继续执行后面的代码:

  async created () {
    this.loading = true
    if (!await this.fetchData()) { // 获取不到数据则中断执行后续逻辑
      this.loading = false
      return
    }
    // 后续逻辑
  },

但是在composition api中的script setup中我们没办法这么做了,因为script setup是setup语法糖,setup函数是用来声明响应式变量(最后需要返回响应式变量)的,不可以直接return

那么我如果想实现在options api中的中断效果,该怎么做?

回复
1个回答
avatar
test
2024-07-18

声明一个函数直接执行不就行了

const loading = ref(false)
async function fn () {
    loading.value = true
    if (!await fetchData()) { // 获取不到数据则中断执行后续逻辑
      loading.value = false
      return
    }
    // 后续逻辑
  }

fn()
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容