adelkhalitov
@adelkhalitov
>

Как исправить область видимости js?

Вот пример кода

class some {
 constructor() {
  setTimeout(this.blabla, 2000)
 }
 
 updateData() {
   //...some
 }
 
 blabla() {
  this.updateData();
 }
}

Так не работает, выдает ошибку
```TypeError: _this.updateData is not a function```

А вот так сработает:
class some {
 constructor() {
  this.blabla()
 }
 
 updateData() {
   //...some
 }
 
 blabla() {
  this.updateData();
 }
}


Как исправить?
  • Вопрос задан
  • 102 просмотра
Решения вопроса 1
@StockholmSyndrome
setTimeout(this.blabla.bind(this), 2000)
или
setTimeout(() => this.blabla(), 2000)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы