我正在用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({
})
})
答案 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