【发布时间】:2019-01-04 01:48:41
【问题描述】:
我知道有很多关于这个问题的问题,但没有一个有助于解决我的问题。 从组件订阅服务,它总是返回 undefined.. 对此我失去了理智。
组件:
ngOnInit() {
this.dataService.getAllPartners().subscribe(data =>
{this.partners = data
console.log("data " + data);},// i can see the data returns
error => {
LoggerService.error('Failed to load partners.')
});
console.log("Partners " + this.partners);// partners is undefined
}
服务:
private serviceUrl = '/partners';
private headers = new HttpHeaders()
.set('Content-Type', 'application/json');
constructor(private httpClient: HttpClient) { }
/**
* Fetch partners from the server
*/
getAllPartners(searchParams?: Object): Observable<Partner[]> {
return this.httpClient.get(Constants.BASE_SERVICE_URL + serviceUrl , {
params: HttpRequestService.buildRequestOptions(searchParams),
headers: this.headers
})
}
【问题讨论】:
-
“它们都不能帮助解决我的问题” - 相反,许多现有的问题可以准确地告诉你问题是什么:外部 订阅,回调尚未被调用,因此属性 无法 被设置。您可以在控制台中看到这一点:
Partners打印在 之前data。
标签: angular