Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 如何使用管道/贴图返回角度为7的数组_Angular_Rxjs_Pipe_Angular7_Rxjs6 - Fatal编程技术网

Angular 如何使用管道/贴图返回角度为7的数组

Angular 如何使用管道/贴图返回角度为7的数组,angular,rxjs,pipe,angular7,rxjs6,Angular,Rxjs,Pipe,Angular7,Rxjs6,当我通过HttpClient进行GET调用时,我想传回一个实际类型化对象的数组,而不是一个普通的“对象”,所以我尝试这样做: getExistingArsByLab(labId:number):可观察{ 返回此文件。http .get(`${this.baseUrl}/ar?labId=${labId}`) .烟斗( 地图(x=>{ const ret=EhsAssessmentAr.fromJson(x); ret.ar=this.sanitizer.sanitize(SecurityCont

当我通过HttpClient进行GET调用时,我想传回一个实际类型化对象的数组,而不是一个普通的“对象”,所以我尝试这样做:

getExistingArsByLab(labId:number):可观察{
返回此文件。http
.get(`${this.baseUrl}/ar?labId=${labId}`)
.烟斗(
地图(x=>{
const ret=EhsAssessmentAr.fromJson(x);
ret.ar=this.sanitizer.sanitize(SecurityContext.HTML,ret.ar.replace(/\n/g,“
”); 返回ret; }) ) }
声明了
fromJson
方法以返回正确的类,并且我认为,既然我通过
map
发送了这个,那么我将返回一个数组。我对RxJs真的很陌生,所以我肯定我只是在做一些完全愚蠢的事情

我得到了错误:

TS2322:类型“Observable”不可分配给类型“Observable”`


您可以strong键入映射响应,并检查是否返回数组非单个元素:

getExistingArsByLab(labId:number):可观察{
返回此文件。http
.get(`${this.baseUrl}/ar?labId=${labId}`)
.烟斗(
地图((x:EHSASSementar[])=>{
const ret=EhsAssessmentAr.fromJson(x);
ret.ar=this.sanitizer.sanitize(SecurityContext.HTML,ret.ar.replace(/\n/g,“
”); 返回ret; }) )
}
这已经是Angular 7 HttpClient的默认行为。因此,除非您需要对html或类似示例中的内容进行额外处理,否则您只需要以下内容:

getExistingArsByLab(labId: number): Observable<EhsAssessmentAr[]> {
  return this.http
    .get<EhsAssessmentAr[]>(`${this.baseUrl}/ar?labId=${labId}`)
}
getExistingArsByLab(labId:number):可观察{
返回此文件。http
.get(`${this.baseUrl}/ar?labId=${labId}`)
}

的可能重复项在我看来并不相同。我声明为数组返回类型,我觉得我返回的是数组类型。你所指的是返回数组或对象。你检查过了吗?你能解决问题吗?不是在我的计算机上,但我认为问题是我使用的贴图采用数组而不是像“普通”贴图那样的单个对象是的,这更好,并且与RxJS V6.0++兼容,谢谢