关于在class中使用requestAnimationFrame()出现的问题
在class中使用requestAnimationFrame()遇到的坑
- 今天在写canvas实现一个功能时需要用到requestAnimationFrame()结果报错
- 虽然最后知道是this指向问题,不过最后还是上网看了一下才解决问题
通过bind改变this指向解决问题
-
call,applay都可以解决this指向问题但是这两种方法都是改变this指向后立即调用函数
-
bind改变this指向不会立即调用函数
class Img {
constructor() {
this._init_()
}
_init_() {
this.animate()
}
animate() {
requestAnimationFrame(this.animate.bind(this))
console.log('ok')
}
}
new Img()