由于Retrofit docs表示Retrofit中的Call enqueue方法是:
异步发送请求并通知其响应的回调或 如果发生错误与服务器通信,创建请求,或 处理回应。
和Rxjava according to this tutorial是:
似乎这两个人有相同的方法。每个的优点和缺点是什么?哪一个更好用?RxJava和RxAndroid库允许我们轻松地进行异步处理 使用功能反应式编程原理
答案 0 :(得分:3)
我不会说他们有同样的方法。 Retrofit
专为API调用而设计,同步或异步调用API(您可以指定)。而RxJava
& RxAndroid
可以为您做类似的事情(即同步或异步执行某些任务),它不仅限于API调用。你可以用RxJava/Android
正如你引用的那样
RxJava
和RxAndroid
库允许我们轻松执行异步处理 使用功能反应式编程原理
RxJava
& RxAndroid
使用功能反应式编程(FRP)原则来做到这一点。 FRP与Retrofit
&因此他们不一样&无法比较。
您还可以使用RxJava/Android
和Retrofit在FRP模式中调用API。
请阅读this,以便您更了解FRP:
您还应该阅读this以了解运算符RxJava
给出的内容& {如何使用它们
最后,如果Asynchronous
仅表示API调用,那么Retrofit
最好这样做,因为它是专门为此设计的,如果是Asynchronous
你意味着其他一些任务,如资源密集型等,如果你想要像RxJava/Android
或Observer
这样的FRP模式中的异步任务,那么Observable
显然会更好。