Как правильно использовать redux-сагу putResolve - PullRequest
0 голосов
/ 22 мая 2019

Я пытаюсь упорядочить свои вызовы API, чтобы я мог вызвать конечную точку, дождаться ее успешного завершения, а затем выбрать нужное значение из состояния.

Я очень новичок в избыточности-Сага, и мне трудно понять, как этого добиться!

То, что я пробовал:

Итак, мы пытаемся блокировать, пока выполняем вызов API:

const resp = yield putResolve(assistantActions.fetchSustainability());

Позже в коде мы выбираем обновленное значение из состояния:

const assistant = yield select(getAssistant);

Вызываемое действие выглядит так:

export const fetchSustainability = () => ({ type: FETCH_SUSTAINABILITY });

В саге мы:

yield takeEvery(FETCH_SUSTAINABILITY, fetchSustainability);

Затем функция возвращает обещание:

function fetchSustainability() {
    return axios.get(`${url}/sustainability`);
}

Я не уверен, что настроил это где-то рядом, так как внес много изменений, пытаясь его получить.работает!

Оператор выбора выполняется немедленно, и, поскольку вызов не заблокирован, состояние не обновляется правильно.

Правильно ли подходит мой подход?Если нет, то кто-то может привести простой рабочий пример того, как выполнить блокирующий вызов.

...