我希望允许我从API调用的数据在Typescript中用作全局变量。我知道subscribe()的本质不允许这样做,我想知道是否有解决方法。
以下是API
getResultCount(category:any):Observable<any>
{
let cat = category;
return this._http.get(`${this.castapi}/cat/${cat}`);
}
这就是调用API
getResult(){
this.service.getResultCount("Horror").subscribe((res)=>{
console.log(res.data, "Output");
this.resultCount = res.data; // value is only stored within subscribe()
});
}
category: any[] = [
{
"name" : "book",
"value" : this.resultCount // undefined
}
];
2条答案
按热度按时间bttbmeg01#
最好的回答是:不要这样做。一旦你使用Observables,试着保持在那里,并使用AsyncPipe。
然后,您可以通过将
不需要
.subscribe()
,也不用担心退订。vmjh9lq92#
由于TS是异步的,我是新手,我不知道如何全局存储订阅的变量,但设法将其存储在一个数组中以供使用。
...使用新的SQL查询
...返回了一个格式为
然后就这样被使用...
对不起,如果它有点平淡无奇,没有经验的TS和只是想发挥周围的ngx图表使用API数据。