Apache HttpAsyncClient的可观察API

banq 15-09-11
                   

这是将Netflix开源Rxjava与Apache的Http异步客户端结合的开源库。

创建一个可观察的请求源:

ObservableHttp.createGet("http://www.wikipedia.com", httpClient).toObservable();
ObservableHttp.createRequest(HttpAsyncMethods.createGet(
"http://www.wikipedia.com"), httpClient).toObservable();


下面是一个完整的请求和分析响应的代码,从客户端向服务器发出一个请求,得到响应后,将响应的byte[]转为String数组。

ObservableHttp.createRequest(HttpAsyncMethods.createGet("http://www.wikipedia.com"), client)
.toObservable()
.flatMap({ ObservableHttpResponse response ->
return response.getContent().map({ byte[] bb ->
return new String(bb);
});
})
.toBlockingObservable()
.forEach({ String resp ->
// this will be invoked once with the response
println(resp);
});


项目源码见:
ReactiveX/RxApacheHttp · GitHub

                   

lostalien
2015-09-18 19:22

。。。搞成可观察的有啥用。。。 ?

banq
2015-09-19 07:13

2015-09-18 19:22 "@lostalien"的内容
搞成可观察的有啥用 ...


搞成可观察的,就可以随时随地观察,如同你安排了一个间谍在某个组织,你可以随时了解这个组织的情况。

可观察的和Rective是有密切联系的。