在Angular 2中使用.map和http

时间:2017-01-12 13:09:49

标签: http angular subscribe

我想知道在.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 => {});
      });
}

1 个答案:

答案 0 :(得分:2)

您不需要使用map,但do肯定是错误的操作员

do应该为每个事件执行一些代码,但不能修改事件值,而map可以像您在示例中那样用不同的值更新或替换事件。 / p>

https://github.com/ReactiveX/rxjs/blob/master/src/operator/do.ts#L13-L14

  
      
  • 对源Observable上的每个发射执行副作用,但返回
  •   
  • 与源相同的Observable。
  •