[英]How can I wait for code/ subscription to finish before the function returns
我需要等待我的 function 中的 2 订阅完成,然后它才会返回 'this.getRows('employee')' 的值。 最好的方法是什么? 也许 rxjs 会有所帮助,但我对此并不满意。 先感谢您
getEmployeesTable(): Table {
this.backendService.getEmployeeSummaryTable().subscribe((employees) => {
this.emloyeeSummary = employees;
});
this.backendService.getEmployeesTable().subscribe((employees) => {
this.emloyees = employees;
});
setTimeout(() => (table = this.getRows('employee')), 1000); // this does not help
return this.getRows('employee'); // this should only return after the 2 functions above
//finished
}
forkJoin会等待两个异步操作完成
getEmployeesTable():Observable<Table>{
return forkJoin({
emloyeeSummary: this.backendService.getEmployeeSummaryTable(),
employees: this.backendService.getEmployeesTable()
}).pipe(
tap((res) => {
this.emloyeeSummary = res.emloyeeSummary;
this.emloyees = res.employees;
}),
map(() => this.getRows('employee'))
);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.