我有角度2的服务
private todosUrl = "http://localhost:3000/HelloWorld"; // URL to web API
constructor (private http: Http) {}
public getTodos(): Subscription {
this.todoList = [];
return this.http.get(this.todosUrl)
.map((res: Response) => {
if (res.status === 204) {
return [];
}
let todosObj: any = res.json();
return todosObj;
})
.flatMap((res: Array<Todo>) => {
return res;
})
.subscribe((todo: Todo) => {
this.todoList.push(todo);
});
}
http://localhost:3000/HelloWorld返回一个json {“Hello World!”:“立即尝试”}。但是这个函数返回错误
**Uncaught TypeError: You provided an invalid object where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.
at Object.subscribeToResult (subscribeToResult.ts:81)
at MergeMapSubscriber._innerSub (mergeMap.ts:135)
at MergeMapSubscriber._tryNext (mergeMap.ts:131)
at MergeMapSubscriber._next (mergeMap.ts:115)**
有什么帮助吗?
答案 0 :(得分:2)
private todosUrl = "http://localhost:3000/HelloWorld"; // URL to web API
constructor (private http: Http) {}
public getTodos(): Subscription {
this.todoList = [];
return this.http.get(this.todosUrl)
.flatMap((res: Response) => {
if (res.status === 204) {
return null;
}
return res.json();
}).subscribe((todo: Todo) => {
this.todoList.push(todo);
});
}