vuex存储模块箭头功能中的语法错误

时间:2019-02-12 16:50:36

标签: vue.js vuex vuex-modules

我知道Vue实例中不应使用箭头功能。但是在操作中,甚至在vuex文档中也使用了它们。

尝试从中等角度使用此示例,但出现语法错误。

模块构建失败:SyntaxError:意外的令牌,预期

  49 |     return ApiService
  50 |       .get('project_list')
> 51 |       .then(({data})) => {
     |                       ^
  52 |         context.commit(SET_PROJECTS, data.projects.results);
  53 |         context.commit(FETCH_END)
  54 |       }

src / store / projects.module 中的代码。在此仅更改了变量名称。因此,我对此语法错误有些困惑。

const actions = {
  [FETCH_PROJECTS] (context, payload) {
    context.commit(FETCH_START)
    return ApiService
      .get('project_list')
      .then(({data})) => {
        context.commit(SET_PROJECTS, data.projects.results);
        context.commit(FETCH_END)
      }
      .catch(({response})) => {
        context.commit(SET_ERROR, response.data.errors)
      }
  },
  [FETCH_A_PROJECT] (context, payload) {
    context.commit(FETCH_START)
    const {project_id} = payload
    return ApiService
      .get(`project_list/${project_id}`)
      .then(({data})) => {
        context.commit(SET_A_PROJECT, data.projects);
        context.commit(FETCH_END)
      })
      .catch(({response})) => {
        context.commit(SET_ERROR, response.data.errors)
      })
  }
}

1 个答案:

答案 0 :(得分:2)

您过早关闭了then方法。像这样删除一个右括号:

.then(({data}) => {
    context.commit(SET_PROJECTS, data.projects.results);
    context.commit(FETCH_END)
})