Как обновить состояние после успешного запроса с источниками в alt.js?

Я довольно новичок в alt.js и у меня есть вопрос относительно обновления состояния в обработчике успеха.

Допустим, у меня есть UserStore и я хочу удалить одного пользователя. Я запускаю действие удаления пользователя с id пользователя, который должен быть удален. Источник отправляет запрос на удаление с этим id к бэкэнду. Запрос работает, и источники запускают успешное действие.

Как удалить пользователя из StoreState в обработчике успешных действий, поскольку я не получаю идентификатор или любую другую информацию о выполненном запросе?

1 ответ

Решение

Вы можете использовать функцию interceptResponse

Итак, в принципе, у вас должна быть такая конструкция в вашем DataSource:

deleteUser: {
   remote (state, id) {
      //Some backend call here
   },
   interceptResponse (data, action, args) {
      // Here you can access arguments, that were passed to the remote method 
      // via 'args' argument. What you return from this function will be passed
      // to further callbacks (success, error, etc.)

      return {data: data, id: args[0]};
   }
}

Таким образом, в этом случае с данными, возвращенными удаленным вызовом, вы также передадите исходный идентификатор обратным вызовам и сможете удалить пользователя из вашего магазина.

Другие вопросы по тегам