在模块操作中正确编写了初始化方法

时间:2019-08-20 14:44:43

标签: javascript node.js vue.js nuxt.js

从Nuxt.js website中,我们获得了异步nuxtServerInit方法的示例:

actions: {
  async nuxtServerInit({ dispatch }) {
    await dispatch('core/load')
  }
}

就我而言,我有模块,这是我使用它们的方式:

import state from './state'
import * as actions from './actions'
import * as mutations from './mutations'
import * as getters from './getters'

import messages from './modules/messages'
import notifications from './modules/notifications'

export default {
  state,
  getters,
  mutations,
  actions,
  modules: {
    messages,
    notifications
  }
}

我的基本动作有

export default function nuxtServerInit ({ commit, getters }, { req, res }) {}

除非我添加axios调用,否则此方法有效。如何为这种导出功能正确添加async / await。网站上没有任何关于此的示例。...

1 个答案:

答案 0 :(得分:0)

如果您要做的只是在async/await中将nuxtServerInit与axios结合使用:

export default function nuxtServerInit ({ commit, dispatch }, { req, res }) {
  try {
    await dispatch('core/load')     
  } catch (err) {

  }
}

在您的模块中:

async load() {
  return await this.$axios....
}