文章详情页
android - RxJava 在onNext(User user) 可以把user赋值给外部成员变量mUser吗?
浏览:253日期:2024-02-28 18:57:50
问题描述
我刚学RxJava, 执行完下面的代码 mUser还是null 原因会不会是异步造成的,纯属猜测,,请路过的大大帮忙看看,非常感谢OvO~另外,想请教下你们对于从网络取到的user一般怎么处理?/?
问题解答
回答1:doOnNext会在onNext之前被调用,一般是一些准备工作,随意不太了解你在onNext和doOnNext为什么会写一样的代码.....另外你用的应该是retrofit吧,不知道Retrofit的Build有没有错,所以有可能是根本没有获取到User信息,RxJava本来就是专门处理异步流的库,所以不存在你说的“异步问题”
关于怎么处理要看你的业务需要而定,比如会根据User的地区,再发起请求来获得当地天气;或者过滤掉某些年龄小于18的User
回答2:异步编程,代码执行完相当于预定了一个任务,可能这个任务还没有开始执行。要等到异步任务执行完成后,才会执行回调,才能拿到真正的返回值
举个例子:要睡觉了,告诉媳妇,明早我要吃蛋饼,做好了叫我。等你说完这句话,蛋饼呢?蛋饼呢?显然得等到明天早上才有
回答3:把doOnNext操作符去掉再试试
标签:
java
上一条:android - realm 数据库配合 rxjava使用,按照教程配置,为什么找不到 MyRxFactory() 这个方法下一条:html - 内嵌app 的web 页面如何应用 app 内置的静态文件
相关文章:
1. node.js - webpack 配置文件 运行出错2. Docker for Mac 创建的dnsmasq容器连不上/不工作的问题3. vim - docker中新的ubuntu12.04镜像,运行vi提示,找不到命名.4. java - Access denied for user ’root’@’**.**.**.**’ (using password: NO)5. angular.js - angular内容过长展开收起效果6. 为什么我ping不通我的docker容器呢???7. mac里的docker如何命令行开启呢?8. node.js - node exec 执行没反应9. java - servlet的init方法和选择Filter的init方法来加载配置文件,二者有何区别?10. angular.js - 指令下的指令 面对上级指令ng-repeat的时候 ng-controller会出现多次的问题?
排行榜

网公网安备