我必须等待完成几个可观察的方法,我想使用forkJoin。 例:
forkJoin(
this.loadUserRoles(),
this.loadDepartments()
).subscribe(result => {
//some logic
});
loadUserRoles() {
return new Observable(obs => { this.userService.getRoles().subscribe(
resp => this.loadUserRolesSuccess(resp),
this.loadUserRolesError);
});
}
LoadDepartments 方法看起来像 LoadUserRoles。 我尝试使用obs.next()
但它不起作用。可以这样使用forkJoin吗?有没有办法等待完成几种方法?
您可以简化对此loadUserRole
,如果您的loadUserRoles
中没有复杂的东西,则实际上不需要创建新的可观察对象
loadUserRoles() {
return this.userService.getRoles().pipe(
map(res=>this.loadUserRolesSuccess(res))
,catchError(e=>this.loadUserRolesError(e)))
}
forkJoin(
this.loadUserRoles(),
this.loadDepartments()
).subscribe(([result1,result2]) => {
//some logic
});