以下是我的API调用,我必须拦截器在两者之间,所以我正从localStorage的这个数据。数据被字符串化并保存。当我将它返回时,我通过observable.of(cachedata)转换为可观察的。无法使用的可观察数据订阅
getApplications(userid: string): Observable<any> {
let data =this.httpclient.get(this._getAPIUrl('user/' + userid + '/applications'))
.map((res: Response) => res.json())
return data;
}
我把它叫做从组件
ngOnInit() {
const userid = this.platformService.currentUserId;
console.log(this.platformService.getApplications(userid));
}
它打印结果
Observable {_isScalar: false, source: Observable, operator: MapOperator}
如果我订阅这个呼叫数据并没有得到使用。
this.platformService.getApplications(userid)
.subscribe(applications => {
console.log('app ' + applications);
const menuItems: MenuItem[] = [];
menuItems.push(
new MenuHeaderItem({
type: MenuItemType.Header,
title: 'Applications',
description: null
}));
Object.keys(applications).map(element => {
menuItems.push(this.formatconversion(applications[element]));
});
this.menu = menuItems;
});
console.log('app'+ applications)not coming。
任何帮助将不胜感激。提前致谢。
你的代码似乎在一定意义上有效,在认购的代码块应该叫一旦HTTP获得通话已成功解决。你在控制台中是否有任何错误? – Fjut