我想每分钟从服务器获取数据以检查新数据。现在我正在使用 Timeout 循环执行此操作,但我认为可能有更好的方法来执行此操作。那应该怎么做呢?
async componentDidMount () {
await this.callApi();
await this.callNames();
}
callApi = async () => {
try {
const response = await fetch('/rates');
if (response.status === 200) {
const body = await response.json();
this.setState({ rates: body.rates, ratesError: null });
} else {
this.setState({ ratesError: 'Error getting currency rates' });
}
} catch (err) {
console.log(err);
this.setState({ ratesError: err });
}
setTimeout(this.callApi, 60000);
}
最佳答案
你可以使用setInterval
var intervalID = window.setInterval(this.callApi, 60000);
https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setInterval
关于javascript - 每分钟向服务器请求一次 - 其他方式然后超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49612142/