useAsyncState 如何使用


import { reactive, ref } from 'vue'
import { useAsyncState } from '@vueuse/core'


export function useRelation() {
  const variables = reactive({
    workflowOptions: [],
    workflow: ref(null),
    seriesData: [],
    labelShow: ref(true)
  })

 

  const getWorkflowName = (projectCode: number) => {
    const { state } = useAsyncState(
      queryLineageByWorkFlowName({ projectCode }).then(
        (res: Array<WorkFlowListRes>) => {
          variables.workflowOptions = res.map((item) => {
            return {
              label: item.workFlowName,
              value: item.workFlowCode
            }
          }) as any
        }
      ),
      {}
    )

    return state
  }

 

  return { variables, getWorkflowName }
}
export default useMyAsyncComposable(promise) {
  const state = ref(null);

  const execute = async () => {
    // 2. 等待 promise 执行完成
    state.value = await promise

    // 5. 一段时间后...
    // Promise 执行完,state 更新
    // execute 执行完成
  }

  // 1. 执行 `execute` 方法
  execute();
  // 3.  await 将控制权返回到这一点上。

  // 4. 返回 state 并继续执行 "setup" 方法
  return state;
}
promise在后台执行,因为我们没有等待它,所以它不会在setup函数中中断流。我们可以将此可组合放置在任何地方,而不影响响应性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值