Angular2 services 类型对象不可分配给类型';对象[]
我不明白如何在Observer上将类型返回到格式:Angular2 services 类型对象不可分配给类型';对象[],angular2-services,angular2-observables,Angular2 Services,Angular2 Observables,我不明白如何在Observer上将类型返回到格式: return new Observable (observer => { this.http.get('myurl').map(res => res.json()).subscribe( data => { observer.next(data); observer.complete(); }
return new Observable (observer => {
this.http.get('myurl').map(res => res.json()).subscribe(
data => {
observer.next(data);
observer.complete();
},
error => {
observer.error(error);
observer.complete();
}
);
});
这是我的观察员:
return new Observable (observer => {
this.http.get('myurl').map(res => res.json()).subscribe(
data => {
observer.next(data);
observer.complete();
},
error => {
observer.error(error);
observer.complete();
}
);
});
还有我的控制器
this.competService.getAll().subscribe(
data => {
data.forEach((item) => {
mylist.push(item);
});
},
error => {
this.busy = false;
this.authService.errors(error);
}
);
我总是犯同样的错误:
Type '{}' is not assignable to type 'Object[]'
有人能帮我吗 如果未指定从HTTP请求返回的类型,HTTP客户端将假定它是一个对象。这会导致您看到的类型不匹配错误。您正试图将类型对象分配给类型
any[]
。您可以通过执行以下操作来指定返回类型
this.http.get<any[]>(this.ROOT_URL).subscribe(...);
this.http.get在哪一行?在data.forEach((项)=>{mylist.push(项);})上代码>competService.getAll的返回类型是什么?mylist的返回类型是什么?getAll是函数观察器(位于我问题的顶部)。数据是一个简单的json对象数组。我不知道我能不能精确到Observer中返回的类型尝试在typescript中重现问题,然后共享链接。