Документация ngxs state

Я новичок в NGXS и пытаюсь полностью понять документацию, чтобы начать использовать ее, зная, что я делаю.

Есть одна вещь, которую я не понимаю в этом фрагменте кода из здесь.

export class ZooState {
  constructor(private animalService: AnimalService) {}

  @Action(FeedAnimals)
  feedAnimals(ctx: StateContext<ZooStateModel>, action: FeedAnimals) {
    return this.animalService.feed(action.animalsToFeed).pipe(tap((animalsToFeedResult) => {
      const state = ctx.getState();
      ctx.setState({
        ...state,
        feedAnimals: [
          ...state.feedAnimals,
          animalsToFeedResult,
        ]
      });
    }));
  }
}

Чуть ниже этого кода говорится:

You might notice I returned the Observable and just did a tap. If we return the Observable, the framework will automatically subscribe to it for us, so we don't have to deal with that ourselves. Additionally, if we want the stores dispatch function to be able to complete only once the operation is completed, we need to return that so it knows that.

Фреймворк будет подписываться на this.animalService.feed, но почему?

Чтобы наблюдаемый объект запускался при отправке действия FeedAnimals.

kctang 31.10.2018 11:54

спасибо, я думаю, теперь я понял идею

Alvaro 01.11.2018 13:39
0
2
171
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Действие FeedAnimals использует внедренную службу AnimalService для кормления животных, переданных в полезной нагрузке действия. Предположительно служба работает асинхронно и возвращает Observable. Доступ к значению этого Observable осуществляется через функцию касания и используется для обновления контекста состояния ZooState в случае успешного завершения.

Чтобы использовать NGXS в частности и Angular в целом, вы, В самом деле, должны понимать RxJS ... вот моя страница документа goto для этого

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