我SplashScreenFragment
在這個片段中,我將使用Retrofit
with從服務器加載資料,從服務器RxJava
獲取資料需要 1 秒到 25 秒。
必須向用戶顯示SplashScreenFragment
至少 8 秒。
當我從服務器獲取資料時,onSuccess
將呼叫該方法,并在此onSuccess
方法中將用戶導航到HomeFragment
讓我們舉個例子來了解我到底想要什么:
第一種情況:當我打開應用程式時,SplashScreenFragment
將啟動它并從服務器獲取資料,假設從服務器獲取資料需要1秒,在這種情況下,它一定不能用onSuccess
方法呼叫,應該等待 7 秒,然后,它必須呼叫該onSuccess
方法
第二種情況:當我打開應用程式時,SplashScreenFragment
將啟動它并從服務器獲取資料,假設從服務器獲取資料需要3秒,在這種情況下,它一定不能用onSuccess
方法呼叫,應該等待 5 秒,然后,它必須呼叫該onSuccess
方法
第三個場景:當我打開應用程式時,SplashScreenFragment
會啟動并從服務器獲取資料,假設從服務器獲取資料需要12秒,在這種情況下,必須onSuccess
直接呼叫該方法而無需等待。
我可以這樣做,但是沒有RxJava
,我想知道是否有任何方法可以根據上述條件RxJava
延遲該方法?onSuccess
uj5u.com熱心網友回復:
用 8 秒計時器壓縮它:
Single<Data> datasource = ...
datasource.zipWith(Single.timer(8, TimeUnit.SECONDS), (a, b) -> a)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(data -> { }, error -> { });
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/451903.html
上一篇:如何使用.htaccess在PHP中將X-XSS-Protection和X-Frame-Option添加到回應標頭