使用Nuxt JS在asynData函数内部运行一组代码

问题描述 投票:0回答:2

我有很多代码,需要在基于NuxtJS的项目上的asyncData()方法内的大约20页上重复。因此,我想创建某种可以返回“ logged_in_data”的辅助函数。问题是,它在其中使用“等待”,因此我不确定助手功能将如何工作。知道如何实现此辅助功能吗?

下面是我的代码:

let logged_in_user = null;
    if(process.client){
      console.log('>> client')
      logged_in_user = store.getters.loggedInUser
    }
    else{
      console.log('>> server')
      logged_in_user = await store.getters.getAuthenticatedUser
    }
vue.js async-await nuxt.js nuxt
2个回答
0
投票

异步数据的返回方法中的调用函数。

asyncData (context) {
    return function1()
}

async function1(){
    await fisrtfunction()
    await secondfunction()
    return true
}

0
投票

如果使用getter,则可以指向异步分配的空值,并且该值在更新时将起作用,但是您应该将其放入computed

computed: {
     return this.$store.getters.getAuthenticatedUser
    }

但是这里是问题:如果您必须等待吸气剂,则设计就会遇到问题。对于我的Vue / Vuex应用程序,我通过以下方式处理登录:-用户登录,并且axios调用后端以异步验证用户身份(无商店交互)-用户成功通过身份验证,数据来自数据库-此数据已提交到商店以便于访问-我的getter指向商店中的用户数据(不是异步的)

我强烈建议在身份验证时存储用户数据,并将您的获取者指向那里。

© www.soinside.com 2019 - 2024. All rights reserved.