仍旧是AddCookieInterceptor类中为什么要用RxJava的问题。

来源:12-6 通过RxJava同步浏览器和原生请求Cookie

qq_Zoyix_0

2017-12-30

老师,这个拦截器中,您的代码是这样写的:

Observable
       .just(LattePreference.getCustomAppProfile("cookie"))
       .subscribe(new Consumer<String>() {
           @Override
           public void accept(String cookie) throws Exception {
               builder.addHeader("Cookie",cookie);
           }
       });

这段代码为什么要用Rxjava?能不能直接这样写:

String cookie = LattePreference.getCustomAppProfile("cookie");
builder.addHeader("Cookie",cookie);

用两句就行了,您之前回答说:因为异步更清晰,可是第一段代码中虽然用了Rxjava但是也并没有指定线程啊,那观察者和订阅者应该是在同一个线程里的啊,并没有异步啊,那和我直接写成第二段代码那样的岂不是省事?有什么区别么?

写回答

1回答

傅猿猿

2018-01-01

可以呀,按照自己熟悉的方式就好,这里不是频繁请求所以异步什么的感觉没什么意义,一般那种不听刷新nativeAPI的混合页面需要。这个是我原来项目扣下来的,一般拦截器里面代码挺多的,rx的话更人性化点,不过自己new线程也行。简单页面直接取出来同步就好,不过你刚刚应该再加个bool判断下,不然每次都会有文件操作的

0
1
qq_Zoyix_0
嗯嗯,那老师为什么rx不用加bool判断?
2018-01-01
共1条回复

Android通用框架设计与完整电商App开发

从第一行代码开始教你,通用且一键式配置的框架设计并轻松实现完整电商App

2028 学习 · 1182 问题

查看课程