所以我正在尝试学习 react-redux-saga。我正在构建一个简单的应用程序,它只是从 API 中获取用户数据并显示它。这是我传奇中的生成器函数:
export function* fetchImage() {
try {
const response = yield call(fetch, 'https://randomuser.me/api/');
console.log("Response 111", response);
const responseBody = response.json();
yield put(setImage(response));
} catch (e) {
yield put(fetchFailed(e));
}
return;
}
它只是简单地对一个 url 进行 yield 调用,然后调度一个 Action 。但是,响应对象并没有以 JSON 形式返回,而是看起来像是返回了一些响应对象:
我不确定如何处理这个对象。如果您直接通过浏览器点击 URL,它将返回一个 JSON 对象。如何让它返回 JSON?
所以我的 response.json() 正在返回这个对象:
看起来我想要的对象在 [[PromiseValue]] 事物中。那是什么?如何实现我的值(value)?
最佳答案
在响应对象解析后,您始终可以访问它的主体:
const response = yield call(fetch, 'https://randomuser.me/api/');
const responseBody = yield response.json();//这里就是你想要的
关于reactjs - Yield 调用返回一个 promise ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51996080/