бросить только после выполнения всех запросов - PullRequest
0 голосов
/ 06 февраля 2019

У меня есть карта элементов, где мне нужно вызывать API для каждого элемента, используя yield all в саге.Мое намерение состоит в том, чтобы обрабатывать ошибки каждого ответа.Код выглядит следующим образом:

  const apiCall = async (
            client: client,
            item: itemReq
        ): Promise<any> => {
            const results = await client
                .(some unrelated stuff)
                .execute();

    return results;
};

export function* applyOperation(action: ac) {

    try {
        const move = actio.payload as string[];
        const array = move.map(m => {
            return {
                some unrelated stuff
            };
        });

        // This throws as soon as one request fails
        const result = yield all(
            array.map(element =>
                call(apiCall, action.metadata.client, element)
            )
        );

        yield put(
           // dispatchig action that movement is success
        );

    } catch (error) {
       Toast(error);
    } 
}

, как выполнить все вызовы API, не выбрасывая, если один запрос завершается неудачно в native-реакции, или выбрасывает только после выполнения всех запросов API.

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