我想知道在.map
中使用http
拨打任何API时,我们确实需要Angular 2
吗?
请检查我的下面的代码。 .map
即使没有.map
,它也能正常运行。如果api返回数据,那么它将返回成功,否则它将返回错误。在执行某些操作后,我还将从此处返回任何模型数据。那么,我需要Observable
吗?使用它有什么好处吗?我在.subscribe
侧使用component
来接收数据。这样很好还是我需要改进?
returnData: ReturnData;
callyAPI(body: modelData) {
return this.http.post(URL, body)
.do(data => {
for (let i = 0; i < data.length; ++i) {
this.returnData.push(data[i]);
}
return this.returnData;
},
error => {});
});
}
答案 0 :(得分:2)
您不需要使用map
,但do
肯定是错误的操作员
do
应该为每个事件执行一些代码,但不能修改事件值,而map
可以像您在示例中那样用不同的值更新或替换事件。 / p>
https://github.com/ReactiveX/rxjs/blob/master/src/operator/do.ts#L13-L14
- 对源Observable上的每个发射执行副作用,但返回
- 与源相同的Observable。