只是从angular(版本7)开始。我尝试从json-placeholder(一个待办事项的数组)获得响应。那应该返回一个数组,但是当我console.log(typeof rsp)时,它显示了一个对象。
可观察:
url: string = 'https://jsonplaceholder.typicode.com/todos';
getHomeTodos() {
return this.http.get(this.url);
}
观察者在我的组件中:
ngOnInit() {
this.todosService.getHomeTodos()
.subscribe((rsp) => {
this.homeTodos = rsp;
});
}
有什么想法为什么rsp的类型是'Object',但是在json-placeholder上它显示它返回一个数组?谢谢。
答案 0 :(得分:1)
那么我如何在返回的对象上使用诸如splice之类的方法?
我想我明白你的问题是什么。您需要在get
和getHomeTodos
中指定返回类型,以便添加类型安全性,并且IDE可以建议类型的方法/成员,例如数组上的拼接。
export interface IToDo { /* members here */ }
url: string = 'https://jsonplaceholder.typicode.com/todos';
getHomeTodos():Observable<IToDo[]> {
return this.http.get<IToDo[]>(this.url);
}
homeTodos: IToDo[];
ngOnInit() {
this.todosService.getHomeTodos()
.subscribe((rsp) => {
this.homeTodos = rsp;
});
}
这增加了类型安全性,现在您可以使用splice
或其他Array原型成员。