我有很多代码,需要在基于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
}
异步数据的返回方法中的调用函数。
asyncData (context) {
return function1()
}
async function1(){
await fisrtfunction()
await secondfunction()
return true
}
如果使用getter
,则可以指向异步分配的空值,并且该值在更新时将起作用,但是您应该将其放入computed
。
computed: {
return this.$store.getters.getAuthenticatedUser
}
但是这里是问题:如果您必须等待吸气剂,则设计就会遇到问题。对于我的Vue / Vuex应用程序,我通过以下方式处理登录:-用户登录,并且axios调用后端以异步验证用户身份(无商店交互)-用户成功通过身份验证,数据来自数据库-此数据已提交到商店以便于访问-我的getter指向商店中的用户数据(不是异步的)
我强烈建议在身份验证时存储用户数据,并将您的获取者指向那里。