我正在开发一个棋盘游戏并测试两个玩家,我在componentDidMount
中有这段代码:
window.swap = () => {
this.setState({
self: rotate(this.state.game[0].players, this.state.game[0].players.indexOf(this.state.self))[1]
})
}
这基本上是从玩家列表中选择下一位玩家,并将self
设置为该玩家,以便我可以模拟该玩家。
当我第一次调用swap
时,它可以正常工作,但是当我再次调用它时,它会使页面崩溃。 但是,如果我之前添加了console.log
,就像这样:
window.swap = () => {
console.log('what?')
this.setState({
self: rotate(this.state.game[0].players, this.state.game[0].players.indexOf(this.state.self))[1]
})
}
它每次都能正常工作。即使我执行了一个简单的循环for(let i=0; i<100; i++) swap()
,它也可以正常工作,并打印“什么?”。 100次。
如果我关闭DevTools并添加类似的内容
setTimeout(() => {
window.swap()
window.swap()
}, 5000)
在console.log
上带有或不带有swap
的情况下,它都可以正常工作。什么?
编辑:
经过测试:
显然,此错误已在下一版Chrome中修复
答案 0 :(得分:0)
这是Chrome的错误,该错误已在即将发布的版本中修复。如果有人可以将我指向问题页面或其他内容,我很想知道是什么原因造成的。