【发布时间】:2021-07-30 05:12:33
【问题描述】:
我够了。我花了几个小时,但无法弄清楚它是如何工作的。我的代码通过 mount() 钩子在 SPA 中工作,但我现在迁移到 nuxt 并遇到了问题。
我正在尝试通过 asyncData() 从存储中获取数据
async asyncData({store}) {
console.log("start getting schools")
const schools = await store.dispatch('GET_SCHOOLS_FROM_API').then((schools) => {
console.log(schools)
})
console.log(schools + " schools")
return schools
},
或 fetch()
async fetch({store}) {
const sch = await store.dispatch('GET_SCHOOLS_FROM_API')
this.schools = store.SCHOOLS; //SCHOOLS is a getter in store
});
},
但它不等待调度完成并返回 undefind。
商店:
async GET_SCHOOLS_FROM_API({ commit }) {
return axios.get('http://localhost:3000/schools').then((schools) => {
commit('SET_SCHOOLS_TO_STATE', schools.data)
return schools;
}).catch((error) => {
console.log(error);
return error;
})
}
有人知道我哪里错了吗?
【问题讨论】: