Vue在Computed计算属性下,获取Promise then的返回值无效为空

原因:Promise是异步的,如果业务逻辑不放在then内部,那么可能时机无法拿到then内返回的变量。

解决方案:Vueuse库提供了异步计算属性的钩子,使用Vueuse库的computedAsync即可。

import { computedAsync } from '@vueuse/core'

    let getUri = computedAsync(async () => {
        let Uri = ""
        await userGetUri().then((res)=>{
            Uri=  res['data']
        })
        return Uri
    })

方式2:异步操作还是放在Store的Action里面,通过async/await方式串行化执行。

你可能感兴趣的:(vue.js,javascript,前端)