RxJs 版本5.5引入了管道运算符,以使合并 RxJs 运算符变得更加容易,并使这些情况下的树木摇晃更有效。我的问题是,如果只打算使用一个运算符,应该使用管道运算符吗?
请考虑以下示例:
HttpResponse response;
HttpPost httpPost;
HttpEntity entity;
List < NameValuePair > parametros = new ArrayList < NameValuePair > ( );
String URL = "";
String mensaje;
try {
httpPost = new HttpPost ( URL );
parametros.add ( new BasicNameValuePair ( "submit", "MODIFICAR" ) );
httpPost.setEntity ( new UrlEncodedFormEntity ( parametros, Consts.UTF_8 ) );
response = httpClient.execute ( httpPost );
entity = response.getEntity ( );
mensaje = EntityUtils.toString ( entity );
EntityUtils.consume ( entity );
Document document = Jsoup.parse ( mensaje );
System.out.println ( document.toString ( ) );
} catch ( IOException e ) {
e.printStackTrace ( );
}
vs
response
在这样的情况下,您仅使用一个运算符,最合适的方法是什么?
答案 0 :(得分:1)
简短的回答是“可以,但是不可以” ,因为马丁提到的pipe
运算符在6.0版之前不是必需的在注释中(因此版本<6并非必须),并且如果您包含rxjs-compact
,则可以使用旧的链接运算符方法(因此您可以实际上使用旧的方法到最新版本6。)。
让我们深入探讨一下:“为什么不应该使用它”
从5.5版开始,管道操作员就可以使用(但不是强制性)并且通常是首选,因为(那时)我们都知道在下一版本中所有操作员都将包装在pipe
中,因此您可以将5.5 <= 6这段时间想像为迁移窗口,以新的方式考虑。
尽管我们现在的版本为6+,默认情况下使用pipe
,但只要您使用rxjs仍支持旧链接(否pipe
)同时安装rxjs-compat
。
所以答案是:如果您使用的是rxjs 5.5+
,那么您想利用树抖动功能并按照新标准(如评论中的Cartant所述)编写可读代码吗?