export function* onFetchTree() {
yield takeLatest('FETCH_TREE', function* () {
try {
const response = yield call(fetch, '/myApi/user', {
method: 'GET',
headers: {
accept: 'application/json'
}
})
const responseBody = response.json();
yield put({ type: 'SET_TREE', payload: responseBody });
} catch (e) {
// yield put(fetchFailed(e));
return;
}
});
}
Научившись работать с сагами, застрял на получении реальных данных в моем магазине редуксов. Приведенный выше код, который отправляет responseBody
в полезную нагрузку, дает мне объект Promise (потому что .json()
возвращает его), что замечательно, за исключением того, что я не могу получить доступ к разрешенному Promise. Я остановился на Что означает [[PromiseValue]] в консоли javascript и как я могу получить его , но мне кажется, что это не работает. Я попытался добавить .then()
несколькими способами, но не повезло. Похоже, что функция генератора вообще не работает.
Если я просто использую response
, я получаю объект Response, который не имеет полезной нагрузки. Что мне здесь не хватает? Как получить правильную полезную нагрузку?