Vuejs - возвращение данных из действия - PullRequest
0 голосов
/ 07 января 2019

Могу ли я вернуть данные из действия Vue или мне нужно обновить магазин?

У меня определено действие, но оно не возвращает данных

getData(){
    return { "a" : 1, "b" : 2 }
}

1 Ответ

0 голосов
/ 07 января 2019

Вы действительно можете вернуть данные из действия. Из документации:

Действия часто являются асинхронными, так как мы узнаем, когда действие сделанный? И что более важно, как мы можем составить несколько действий вместе для обработки более сложных асинхронных потоков?

Вы должны вернуть обещание и данные в методе resolve():

actions: {
  actionA () {
    return new Promise((resolve, reject) => {
      setTimeout(() => {
        resolve({ name: 'John Doe' })
      }, 1000)
    })
  }
}

И используйте это так:

store.dispatch('actionA').then(payload => {
  console.log(payload) /* => { name: 'John Doe' } */
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...