角度8:类型“ ArrayBuffer”上不存在属性“ map”

时间:2019-08-19 14:54:20

标签: angular rxjs rxjs6 angular8

我正在用angular 8构建一个应用程序。我在staff.service.ts中有一个API调用,它获取人员列表。在我的ts文件中,我试图使用map函数,但是它抛出一个错误,提示“ ArrayBuffer”类型上不存在“ map”属性。

staff.service.ts

import { HttpClient } from "@angular/common/http";
  public getStaffList(){
    let url = this.apiUrl + `api/v1/staff`;

    this.options = this.authService.getAuthInfo();
    return this.http.get(url, this.options)
  }

staff.component.ts

import { forkJoin } from 'rxjs';

    forkJoin(
      this.staffAdminService.getStaffList(),
      this.staffAdminService.getTitles(),

    ).subscribe(data => {
data[0].map({
})
})

1 个答案:

答案 0 :(得分:0)

这不是Angular的问题,这是Typescript问题。您需要告诉您的get请求,它使用的是哪种类型:

public getStaffList(){
    let url = this.apiUrl + `api/v1/staff`;

    this.options = this.authService.getAuthInfo();
    return this.http.get<Staff[]>(url, this.options);
}

这是必需的,因为此方法有so many different overloads。默认情况下,编译器将选择第一个适用的签名-返回ArrayBuffer