rx-java-使用RxJava进行改装2,在同一时间多次调用同一服务器api



我尝试在RxJava中使用Reformation2,但我是RxJava&改装。

我有一个类似的api:

@POST("donSomething")
Observable<RespData> doSomeThing(@Body ReqData reqData);

它可能同时被调用多次。

如果我同时多次调用doSomeThing,将创建多少个http请求?

如果我只想让它创建一个Http请求(使用RxJava),该怎么办?

每次订阅Observable时,将执行一个http调用。

例如:

             // nothing will happens, you haven't subscribe to your observable
             yourservice.doSomething(request);

如果您订阅了Observable,那么改装将执行http调用:

             // one http call will be performed as soon as the subscribe method is call on your Observable
             yourservice.doSomething(request).subscribe();

每次订阅时将执行一个http调用:

             // do nothing (in term of http call)
             Observable<RespData> obs = yourservice.doSomething(request);
             // first call
             obs.subscribe();
             // second call
             obs.subscribe();

如果要执行一个http调用而不是多个http调用,则可能需要执行网络调用折叠。如果是这样的话,你可以看看Hystrix的表现:https://github.com/Netflix/Hystrix/wiki/How-it-Works#RequestCollapsing

最新更新