简体   繁体   English

RXJS 对多个依赖 API 调用

[英]RXJS on multiple dependent API calls

I am trying to combine multiple API calls into a single observable using RXJS, anyone has any suggestions?我正在尝试使用 RXJS 将多个 API 调用组合成一个可观察对象,有人有什么建议吗?

  • getUser() //returns single user getUser() //返回单个用户
  • getEmployeeList() //returns array of Employees getEmployeeList() //返回员工数组
  • getVisitsByEmployeeId(employeeId) //Using a single employee id, returns array of Visits getVisitsByEmployeeId(employeeId) //使用单个员工id,返回Visits数组
  • getVisitDetails(visistId) //iterate over visits & return visit details getVisitDetails(visistId) //遍历访问并返回访问详细信息
export class DummyComponent implements OnInit {
  displayData: any;

  constructor(private dummyService: DummyService) {}

  ngOnInit(): void {

    this.myBigAssObserveable().subscribe(
      response => this.displayData = response;
    );
  }

  myBigAssObserveable() {
    
  }


getEmployeeDetails() {
    forkJoin(
        {user:this.dummyService.getLoggerInUser(),
         employees: this.employeeService.getEmployees()})
    .subscribe(({user, employees}) => 
        return employees.find(i => i.find(i.employeeId == user.id))
}

  getVisitDetails() {
    return this.visitService
    .getVisitsById(employeeId)
    .pipe(
      flatMap((response) => 
      this.dummyService.getVisitDetails(response.visitId)));
  }
}

It seems your object destruction got some issue.看来您的 object 破坏出现了一些问题。 Could you please update your getEmployeeDetails() module as follows.您能否按如下方式更新您的 getEmployeeDetails() 模块。

getEmployeeDetails() {
    forkJoin(
        {user:this.dummyService.getLoggerInUser(),
         employees: this.employeeService.getEmployees()})
    .subscribe(({user, employees}) => 
        return employees.find(i => i.find(i.employeeId == user.id))
}

I hope this will help you.我希望这能帮到您。 Thank you.谢谢你。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM