Данные, возвращаемые из службы Angular2 RC3 http, не определены
Я настроил довольно простой веб-проект для изучения Angular2 RC3 (TypeScript). В настоящий момент у меня нет бэкэнда, и я пытаюсь загрузить несколько изображений из файла JSON с запросом HTTP GET.
Я следовал официальной документации по созданию сервисов и все работает без исключений и ошибок. Однако данные, возвращаемые из моего сервиса, всегда неопределены, несмотря на то, что HTTP-запрос GET завершен успешно, и я вижу данные ответа в Firebug. Вот что я сделал до сих пор ...
images.json файл:
[
{
"description": "image1",
"file": "image1.jpeg"
},
{
"description": "image2",
"file": "image2.jpeg"
},
{
"description": "image3",
"file": "image3.jpeg"
}
]
Часть службы, отвечающая за загрузку файла JSON, выглядит следующим образом:
import { Http } from '@angular/http';
import 'rxjs/add/operator/toPromise';
....
constructor(private http: Http) {}
getImages(imagesUrl) : Promise<Image[]> {
return this.http.get(imagesUrl)
.toPromise()
.then(response => response.json().data)
.catch(this.handleError);
};
Изображение представляет собой простой класс:
export class Image {
description : string;
file : string;
}
Компонент, который использует сервис, выглядит частично так:
...
@Component({
...
providers : [ ImageService ]
...
})
constructor(private imageService : ImageService) {}
ngOnInit() {
this.imageService.getImages(this.imageSrcDir + "images.json")
.then(images => console.log(images))
.catch(error => console.log(error));
}
console.log (изображения) сверху отображаетне определено
Я совершенно озадачен тем, что я сделал неправильно, любая помощь действительно ценится.