在Angular 5中使用管道发送http请求和不使用管道有什么区别?

时间:2018-04-18 05:01:36

标签: angular rxjs angular5

在我当前的Angular项目中,我处理带有和不带管道的http请求。我得到结果的两个方法。所以我想知道管道究竟会做什么。 以下是我的示例代码。

return this.http.post(this.url, JSON.stringify({ email: email, password: password }));


return this.http.post(API_URL+URI, model)
        .pipe(
            catchError(this.handleError('create', model))
        );

1 个答案:

答案 0 :(得分:3)

在最新版本的RxJS中引入了管道方法,这有助于树木摇晃。在这种情况下,运算符是纯函数,可以作为pipe方法的参数提供(参见下面的示例)。

使用运算符的传统方式(实例方法):

Observable.operator1().operator2().operator3();

执行上述操作的新方法:

Observable.pipe(
operator1(),
operator2(),
operator3()
);

使用静态方法的传统方式:

Observable.staticMethod1();

使用静态方法的新方法:

staticMethod1();

我们导入资源的方式也与传统和新方式不同,请查看此migration guide以获取更多详细信息: