RxJava2 适配器工厂
RxJava 2 Adapter facory
RxJava2CallAdapterFactory.create()
和 RxJava2CallAdapterFactory.createWithScheduler(Schedulers.io())
有什么区别?应该更喜欢哪一个?
如果您将 Scheduler
传递给 RxJava2CallAdapterFactory,它将向您发出的每个网络请求添加 subscribeOn(scheduler)
。这只是一个方便的方法。
与源码的区别
这两种方法 return 都是同步可观察对象的实例,但是 create()
方法默认没有可操作的调度程序,而 createWithSchedulers(Scheduler scheduler)
顾名思义,在各自的默认情况下,您在方法中提到的调度程序,根据您的示例,它将是 Scheduler.io()
.
你应该使用哪一个?
现在这将取决于你,你直接想要 return 实例的 API 默认情况下 Schedulers.io()
或其他调度程序然后你使用带有调度程序的那个,否则你可以使用 create()
方法,并且可以在每次获得响应时声明调度程序。
注意: 我个人使用 create()
方法,因为我有时会提到其他一些 Schedulers.newThread()
and/or Schedulers.computation()
RxJava2CallAdapterFactory.create()
和 RxJava2CallAdapterFactory.createWithScheduler(Schedulers.io())
有什么区别?应该更喜欢哪一个?
如果您将 Scheduler
传递给 RxJava2CallAdapterFactory,它将向您发出的每个网络请求添加 subscribeOn(scheduler)
。这只是一个方便的方法。
与源码的区别
这两种方法 return 都是同步可观察对象的实例,但是 create()
方法默认没有可操作的调度程序,而 createWithSchedulers(Scheduler scheduler)
顾名思义,在各自的默认情况下,您在方法中提到的调度程序,根据您的示例,它将是 Scheduler.io()
.
你应该使用哪一个?
现在这将取决于你,你直接想要 return 实例的 API 默认情况下 Schedulers.io()
或其他调度程序然后你使用带有调度程序的那个,否则你可以使用 create()
方法,并且可以在每次获得响应时声明调度程序。
注意: 我个人使用 create()
方法,因为我有时会提到其他一些 Schedulers.newThread()
and/or Schedulers.computation()