Javascript 异步useEffect不适用于获取数据
这是代码片段:Javascript 异步useEffect不适用于获取数据,javascript,reactjs,async-await,react-hooks,fetch,Javascript,Reactjs,Async Await,React Hooks,Fetch,这是代码片段: useEffect(() => { async function fetchData() { const url = 'https://api.randomuser.me'; const response = await fetch(url); console.log('response: ', response); } fetchData(); }, []); 如您所见,它是一个useEffect钩子
useEffect(() => {
async function fetchData() {
const url = 'https://api.randomuser.me';
const response = await fetch(url);
console.log('response: ', response);
}
fetchData();
}, []);
如您所见,它是一个useEffect钩子,为某些数据调用公共API,使用async wait等待响应
但是记录的数据没有包含它应该包含的内容
这在console.log中:
body: ReadableStream
bodyUsed: false
headers: Headers {}
ok: true
redirected: false
status: 200
statusText: ""
type: "cors"
url: "https://api.randomuser.me/"
__proto__: Response
怎么了?您需要使用
您需要使用 添加
await response.json()
以获取数据。这是一个对象。添加await response.json()
以获取数据。这是一个对象。
useEffect(() => {
async function fetchData() {
const url = 'https://api.randomuser.me';
const response = await fetch(url);
const result = await response.json()
console.log('result: ', result); // this the actual json response
}
fetchData();
}, []);