@cocomuffin

Как указать this правильно?

Доброго времени суток!

Часто виделась такая конструкция в классах с указанием this при асинхронном запросе:

class MyClass {
  constructor() {}
  message (json) {
     console.log(`Result count is ${json.total_count}`);
  }
  
  sendReq()  {
    const _this = this;
    fetch('https://api.github.com/search/repositories?q=123').then(result => result.json()).then(res => _this.message(res));
   }
}

const myclass = new MyClass();
myclass.sendReq();


Мне кажется, что использование конструкции const _this = this выглядит не очень, есть какие-то альтернативы? Может, можно как-то call/apply прикрутить? Или всё ок, и все так делают?
  • Вопрос задан
  • 95 просмотров
Пригласить эксперта
Ответы на вопрос 2
@McBernar
Ну стрелки же! Сколько можно ерундой страдать?
Ответ написан
Комментировать
@grinat
С использованием лямбд/стрелочных функций это не имеет никакого смысла. Тут проблема в том что когда-то давно контекст терялся, щас нет этой проблемы, да и если использовать babel, то он тоже самое делает, правда стрелочные функции переделывает в обычные, для совместимости с ie, в которых и так половина сайтов не открывается, и обычно не из-за лябмд, а из-за сертификата либо косяков в верстке.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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