Как установить свойство экземпляра из функции обратного вызова, вызываемой экземпляром? - PullRequest
0 голосов
/ 08 мая 2018

Я хочу присвоить атрибуту угловой услуги с результатом прибывает из функция обратного вызова У меня есть этот угловой сервис:

@Injectable()
export class SkillsManagerService {

    private skill: any;
    private event: any;
    constructor() {
        // i have an event instance
        event = getEvent ();
        this.startWatching();
    }

    //function that start watching the event
    function startWatching() {
        event.watch(function(err, res) {
            // how to assign this.skill = res ?
        }
    });
}

Ответы [ 2 ]

0 голосов
/ 08 мая 2018

Пожалуйста, конвертируйте функцию ES6 пожалуйста, прочитайте эту ссылку

 pulic function startWatching() {
     event.watch((err, res) => {
     this.skill = res 
   }
  });
0 голосов
/ 08 мая 2018

Попробуйте использовать лямбду или «функцию стрелки», которая сохраняет контекст this для тела.Вот полезное руководство о том, когда что использовать: Когда мне следует использовать функции стрелки в ECMAScript 6?

function startWatching() {
    event.watch((err, res) => {
      this.skill = res;
    });
  }
...