以下代码有什么问题吗?试图使用setTimeout伪装一个fetch。
getData = () => {
return setTimeout(() => {
return new Promise(resolve => resolve(
[
{
id: 1,
name: "Cat",
},
]
))
}, 500)
}
async componentDidMount() {
this.setState({
loading: true
})
const data = await this.getData()
console.log('uh', data)
}
getDate返回了randomed值,我想知道它来自哪里。
答案 0 :(得分:3)
设置超时必须在承诺正文中:
getData = () => {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve(
[
{
id: 1,
name: "Cat"
}
]
);
}, 500)
})
}
您需要返回promise,而不是返回setTimeout函数。