RxJava 在onNext(User user) 可以把user赋值给外部成员变量mUser吗?

我刚学RxJava, 执行完下面的代码 mUser还是null 原因会不会是异步造成的,纯属猜测,,请路过的大大帮忙看看,非常感谢OvO~

另外,想请教下你们对于从网络取到的user一般怎么处理?/?

图片描述

阅读 3.7k
3 个回答

doOnNext会在onNext之前被调用,一般是一些准备工作,随意不太了解你在onNext和doOnNext为什么会写一样的代码.....另外你用的应该是retrofit吧,不知道Retrofit的Build有没有错,所以有可能是根本没有获取到User信息,RxJava本来就是专门处理异步流的库,所以不存在你说的“异步问题”

关于怎么处理要看你的业务需要而定,比如会根据User的地区,再发起请求来获得当地天气;或者过滤掉某些年龄小于18的User

异步编程,代码执行完相当于预定了一个任务,可能这个任务还没有开始执行。要等到异步任务执行完成后,才会执行回调,才能拿到真正的返回值

举个例子:
要睡觉了,告诉媳妇,明早我要吃蛋饼,做好了叫我。
等你说完这句话,蛋饼呢?蛋饼呢?
显然得等到明天早上才有

把doOnNext操作符去掉再试试

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题