我想创建一个函数,该函数从使用外部API的服务返回一个对象。我无法使其工作。
GetMatchinfo (matchid : number ) : Match {
let aq :Match;
this.matchService.GetMatch(matchid).subscribe(
(Matchinfodata: Match)=>{
aq=Matchinfodata;
}
);
return aq;
}
答案 0 :(得分:1)
如果要从模板调用函数,则只需将返回调用的位置移到订阅块。或者,如果您在其他函数中使用GetMatchInfo()
,则最好使用可观察和主题。
GetMatchInfo (matchid : number ) : Observable<Match> {
let aq = new Subject<Match>();
this.matchService.GetMatch(matchid).subscribe(
(Matchinfodata: Match)=>{
aq.next(Matchinfodata);
}
);
return aq.asObservable();
}
并在您需要的地方订阅GetMatchInfo()
函数。
this.GetMatchInfo(id).subscribe(
(result) => {
console.log(result)
}
);