Пример кода Angular-CLI Tour of Heroes (getHeroes), означающего - PullRequest
0 голосов
/ 01 ноября 2018

Вот код getHeroes ()

getHeroes(): void {
this.heroService.getHeroes()
   .subscribe(heroes => this.heroes = heroes);
}

Что я понимаю, так это функция getHeroes (): getHeroes () не принимает никаких параметров и возвращает void. Он будет вызывать другую функцию heroService с тем же именем getHeroes (). Функция subscribe () вызывается так, чтобы выполняется heroService.getHeroes (). Внутри подписки () this.heroes = heroes означает запись полученных героев в this.heroes. Что делает первое ключевое слово героев? (герои => ...)

Ответы [ 3 ]

0 голосов
/ 01 ноября 2018

это функция стрелки, которая будет вызываться, когда ответ будет готов, он берет один параметр heroes из сервисной функции и присваивает его переменной this.heroes

0 голосов
/ 01 ноября 2018

Наблюдаемые

Функция getHeroes() возвращает RxJS наблюдаемый , который имеет subscribe() функцию-член. Наблюдаемые - это поток данных. Таким образом, они могут передавать данные всем своим подписчикам . Вот почему вы должны подписаться (и отписаться) от наблюдаемых. Первый параметр функции подписки - это поток данных (функция), второй необязательный параметр - ошибка (функция), а третий параметр - функция обратного вызова, которая запускается, когда наблюдаемое завершается.

Вы должны прочитать о наблюдаемых в документах rxjs, они действительно мощные.

Функции лямбда (или стрелки)

Фраза в функции subscribe называется лямбда-функцией. Это встроенная функция, которая не переписывает оператор this, что означает, что у вас есть доступ к членам родительского класса в этой функции. Они доступны в двух разных типах, первый тип, например: использование функции JS array map следующим образом.

const property1Array = array1.map(entry => entry.property1);

Это на самом деле сокращение для

const property1Array = array1.map((entry) => {
  return entry.property1;
})
0 голосов
/ 01 ноября 2018

У меня есть фон C / C ++, поэтому ссылка ниже очень полезна для понимания функции стрелки java-скрипта. javascript.info, функция стрелки

В приведенном выше коде указано, что параметр функции subscribe () является функцией. А функция принимает героев в качестве параметра и выполняет выражение справа от знака стрелки.

...