Ich mache das Angular 2 Tutorial mit der Hero App. Ich bin im Http Teil des Tutorials. (link)Angular 2 dann versprechen
Es gibt einen Aufruf an den Server mit dem folgenden Verfahren in hero.service.ts
getHeroes(): Promise<Hero[]> {
return this.http.get(this.heroesUrl)
.toPromise()
.then(response => response.json().data)
.catch(this.handleError);
}
Und dann versuche ich, die zurückgegebenen Daten in heroes.components.ts unten zu verwenden, aber Ich bin nicht in der Lage, die then-Funktion korrekt zu implementieren. Ich erhalte diese Konsole Fehler
EXCEPTION: Error: Uncaught (in promise): TypeError: this is null
export class HeroesComponent implements OnInit {
title = 'Tour of Heroes';
heroes: Hero[];
selectedHero: Hero;
constructor(
private router: Router,
private heroService: HeroService) { }
getHeroes() {
this.heroService.getHeroes().then(function(value) {
//SUCCESS
console.log(value); //this is working
this.heroes = value; //this is not working
console.log("I am inside then SUCCESS")
console.log(title);
console.log(this.heroes);
}, function(error) {
//FAILURE
console.log(error);
})
}
ngOnInit() {
this.getHeroes();
}
Wissen Sie, warum ich nicht this.heroes und Titel console.log können?