Retrofit Call enqueue方法或Rxjava

时间:2017-09-07 05:36:29

标签: android retrofit rx-java rx-android

由于Retrofit docs表示Retrofit中的Call enqueue方法是:

  

异步发送请求并通知其响应的回调或   如果发生错误与服务器通信,创建请求,或   处理回应。

和Rxjava according to this tutorial是:

  

RxJava和RxAndroid库允许我们轻松地进行异步处理   使用功能反应式编程原理

似乎这两个人有相同的方法。每个的优点和缺点是什么?哪一个更好用?

1 个答案:

答案 0 :(得分:3)

我不会说他们有同样的方法。 Retrofit专为API调用而设计,同步或异步调用API(您可以指定)。而RxJava& RxAndroid可以为您做类似的事情(即同步或异步执行某些任务),它不仅限于API调用。你可以用RxJava/Android

做很多奇迹

正如你引用的那样

  

RxJavaRxAndroid库允许我们轻松执行异步处理   使用功能反应式编程原理

RxJava& RxAndroid使用功能反应式编程(FRP)原则来做到这一点。 FRP与Retrofit&因此他们不一样&无法比较。

您还可以使用RxJava/Android和Retrofit在FRP模式中调用API。

请阅读this,以便您更了解FRP:

您还应该阅读this以了解运算符RxJava给出的内容& {如何使用它们

最后,如果Asynchronous仅表示API调用,那么Retrofit最好这样做,因为它是专门为此设计的,如果是Asynchronous你意味着其他一些任务,如资源密集型等,如果你想要像RxJava/AndroidObserver这样的FRP模式中的异步任务,那么Observable显然会更好。