搜尋

首頁  >  問答  >  主體

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

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

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

阿神阿神2772 天前623

全部回覆(3)我來回復

  • 黄舟

    黄舟2017-04-17 17:53:12

    doOnNext會在onNext之前被調用,一般是一些準備工作,隨意不太了解你在onNext和doOnNext為什麼會寫一樣的代碼.....另外你用的應該是retrofit吧,不知道Retrofit的Build有沒錯,所以有可能是根本沒有獲取到User信息,RxJava本來就是專門處理異步流的庫,所以不存在你說的「非同步問題」

    關於怎麼處理要看你的業務需要而定,例如會根據User的地區,再發起請求來獲得當地天氣;或者過濾掉某些年齡小於18的User

    回覆
    0
  • 大家讲道理

    大家讲道理2017-04-17 17:53:12

    非同步編程,程式碼執行完相當於預定了一個任務,可能這個任務還沒開始執行。要等到非同步任務執行完成後,才會執行回調,才能拿到真正的回傳值

    舉個例子:
    要睡覺了,告訴媳婦,明早我要吃蛋餅,做好了叫我。
    等你說完這句話,蛋餅呢?蛋餅呢?
    顯然得等到明天早上才有

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-17 17:53:12

    把doOnNext操作符去掉再試試

    回覆
    0
  • 取消回覆