我正在Firefox中使用vue.js(使用vue-cli对其进行测试)创建一个前端应用程序。我也使用three.js。
有时(大约20%的时间)我的变量之一没有被简单的a = a + b语句修改,其中b不等于0。
如果我暂停我的代码并通过调试器手动将a变量更改为任何值,那么它将起作用。
我检查了console.log(贝洛),Firefox调试器,VSCode调试器(使用firefox)。我将尽快尝试使用铬。
这部分代码与vue.js或three.js没有直接关系,它独立存在于我的课程中。这些变量均未在代码外进行修改。
if (this._cardId === 3 && this.id === 58) {
console.log("A: this._currentHeightUpdateTimer", this._currentHeightUpdateTimer, "delta", delta)
console.log("this._currentHeightUpdateTimer = this._currentHeightUpdateTimer + delta")
}
this._currentHeightUpdateTimer = this._currentHeightUpdateTimer + delta
if (this._cardId === 3 && this.id === 58) {
console.log("B: this._currentHeightUpdateTimer", this._currentHeightUpdateTimer, "delta", delta)
}
A: this._currentHeightUpdateTimer 0 delta 33035
this._currentHeightUpdateTimer = this._currentHeightUpdateTimer + delta
B: this._currentHeightUpdateTimer 0 delta 33035
我正在寻找建议或指导。
Edit2:这是three.js调用方法的循环:
_update() {
const delta = this._getDelta()
this.cortex.update(delta, this.scene.container) // here
this.mouse.update()
this.scene.render()
requestAnimationFrame(this._update.bind(this))
}