Многократный один и тот же асинхронный запрос с наблюдаемой эпопеей - PullRequest
0 голосов
/ 27 октября 2019

Когда пользователь создает новую учетную запись, я хочу сохранить немного информации заполнителя, чтобы начать. К сожалению, я не могу создавать массовые почтовые запросы. Поэтому я должен перебрать массив.

Я пытаюсь проверить это с jsonplaceholder.typecode с кодом из аналогичный вопрос stackoverflow и другой вопрос stackoverflow

export const fetchAction = (resource: string[]): FetchPostsAction => ({
    type: ActionTypes.FETCH_POSTS,
    resource,
})

export const getPostsEpic = (action$: any) => action$.pipe(
    ofType(ActionTypes.FETCH_POSTS),
    mergeMap((action: FetchPostsAction) => {

        let promiseArray = action.resource.map(id => {

            return from(axios.get<Post>(`https://jsonplaceholder.typicode.com/posts/${id}`)
            .then(response => ({type: ActionTypes.FETCH_POST_SUCCESS, post: response.data}))
            .catch(err => console.log(err)))
        })

        return forkJoin(promiseArray)
    })  
)

А в App.tsx я называю действие следующим образом

 React.useEffect(() => {

    if (props.posts.length === 0) {

      props.fetchAction(['1', '2', '3'])
    }
  }, [props])

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...