Я пытаюсь использовать Redux Observable, чтобы вызвать действие для получения некоторых данных, дождаться их возврата, а затем получить еще несколько данных, которые на них полагаются.
У меня есть эпопея, в которой магазин попадает в магазин FetchTodos
. Это прослушивает действие FETCH_TODOS
, а затем вызывает мой API задач и заполняет {todos: [] } =
Еще у меня в магазине есть раздел комментариев todoComments
. Однако я хотел бы заполнить todoComments
только после того, как FETCH_TODOS
вернется и заполнит магазин.
В императивном коде это может выглядеть так:
let todos = await api.get('/todos');
await dispatch("FETCH_TODO_COMPLETE", todos)
let firstId = getState().todos[0].id
let comments = await api.get(`/todos/${firstId}/comments')
await dispatch("FETCH_COMMENTS_COMPLETE", { todo_id: firstId, comments})
Ближе всего к этому я обратил внимание на эту проблему в Redux Observable Repo. , но я не мог понять, как это сделать эффективно. Для меня это довольно распространенный сценарий.
Я хотел бы использовать как можно больше кода. В этом примере я могу отправлять FETCH_TODOS
из нескольких компонентов.
Как мне добиться этого с помощью Redux-Observable?
let firstId = getState().todos[0].id
- это именно то, что вы хотите сделать, или вы хотите получить комментарии к конкретному заданию по идентификатору, или комментарии для всех заданий? - person jayphelps   schedule 27.05.2017