Синтаксическая ошибка в функции стрелки модуля магазина vuex - PullRequest
0 голосов
/ 12 февраля 2019

Я знаю, что функции стрелок не должны использоваться в экземпляре 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 голосов
/ 12 февраля 2019

Вы преждевременно закрыли метод then.Избавьтесь от закрывающей скобки, например, так:

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