caseService 函数处理 HTTP 请求和响应并返回单个对象。我想归还对象。但由于它是一个异步功能,因此它返回空对象(this.caseBook)。我希望它仅在对象具有价值后才返回该对象。
public initData (selectedCaseId: number): CaseBook {
this.casesService
.GetCaseById(selectedCaseId)
.subscribe(data => {
this.caseBook = data;
});
return this.caseBook;
}
对于 typescript Promise,你可以让它以这种方式工作:
public async initData (selectedCaseId: number): CaseBook {
return await this.casesService.GetCaseById(selectedCaseId);
}
但自从你的this.casesService.GetCaseById
是一个 Observable,你可能无法直接从它返回纯值。返回一个 Observable 来代替。
public initData (selectedCaseId: number): Observable<CaseBook> {
return this.casesService
.GetCaseById(selectedCaseId);
}
然后你可以将它绑定到 angular2async
pipe:
{{this.initData() | async}}
为了更好的性能,建议为其绑定一个值,例如:
ngAfterViewInit() {
this.initData().subscribe( data => this.caseBook = data );
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)