[英]How do i make sure the array is filled in Fetch API?
const userfetched =[];
fetch('https://jsonplaceholder.typicode.com/users').then(response=> response.json()).then(user=>userfetched.push(user));
console.log(userfetched)
在这里它输出空数组。
但是如果我使用以下代码:
const userfetched =[];
fetch('https://jsonplaceholder.typicode.com/users').then(response=> response.json()).then(user=>console.log(user));
console.log('end')
它输出end然后是数组值。
我如何等待直到获取响应被填充并对其进行迭代?
只需在获取承诺解析并解析为json之后放入console.log(userfetched)
:
fetch('https://jsonplaceholder.typicode.com/users')
.then(response => response.json())
.then(user => {
console.log(user)
// and do whatever you wanna do here
});
featch完成后,调用callApi函数,并将响应推送到数组并控制结果
其工作异步更改以同步
const userfetched = [];
class App extends Component {
async callApi() {
var res = await fetch('https://jsonplaceholder.typicode.com/users')
var result = await res.json()
console.log(JSON.stringify(result))
}
componentDidMount() {
this.callApi()
}
render{
return( //do something.... )
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.