Когда он работает с F5, а не нажатием Enter, я подозреваю, что иногда он работает, а иногда нет, потому что F5
и Enter
должны вызывать такое же поведение в Nuxt (кроме некоторых заголовков кэша).
Единственная подозрительная вещь в вашем коде - это использование функции async
, когда функция не возвращает или не ожидает какого-либо обещания.
Таким образом, вы либо await
для action
export const actions = {
async nuxtServerInit({ commit, dispatch }, { req }) {
// Parse cookies with cookie-universal-nuxt
const token = this.$cookies.get('token')
const sessionType = this.$cookies.get('sessionType')
// Check if Cookie user and token exists to set them in 'auth'
if (token && user) {
await dispatch('SET_SESSION', {token, user})
//commit('auth/SET_TOKEN', token)
//commit('auth/SET_SESSION_TYPE', user)
}
}
}
или вы удалили асинхронную из объявления
export const actions = {
nuxtServerInit({ commit, dispatch }, { req }) {
// Parse cookies with cookie-universal-nuxt
const token = this.$cookies.get('token')
const sessionType = this.$cookies.get('sessionType')
// Check if Cookie user and token exists to set them in 'auth'
if (token && user) {
commit('auth/SET_TOKEN', token)
commit('auth/SET_SESSION_TYPE', user)
}
}
}