我不明白要在Observer上格式化返回类型:
这是我的观察员:
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[]'
任何人都可以帮助我吗?
答案 0 :(得分:0)
如果您未指定从HTTP请求返回的类型,则HTTP客户端会将其视为对象。这导致您看到的类型不匹配错误。您正尝试将类型Object分配为any[]
类型。您可以通过执行
this.http.get<any[]>(this.ROOT_URL).subscribe(...);