我正在寻找以下问题的解决方案:我有一个正在运行的游戏,并且游戏会定期获取游戏状态。如果用户注销,则游戏结束。但是问题是游戏仍然在设置的时间间隔内发送放置请求。
我正在寻找条件,例如是否提出要求失败或需要清除间隔的条件。
componentDidMount() {
let interval = setInterval(() => {
this.getGameInfo(this.props.match.params.id);
}, 2000);
if (this.getGameInfo(api get request) is unsuccessful(header not existent) { (pseudocode)
clearInterval(interval)
}
谢谢
您可以从getGameInfo返回一个Promise,并添加一个.catch
回调函数以清除间隔
componentDidMount() {
let interval = setInterval(() => {
this.getGameInfo(this.props.match.params.id).catch(() => {
clearInterval(interval);
});
}, 2000);
}