gpt4 book ai didi

java - RxJava 以最小延迟发出项目

转载 作者:行者123 更新时间:2023-12-02 02:09:56 26 4
gpt4 key购买 nike

我有 UserConfig,我想在启动屏幕期间下载它。

class UserManager {
Single<UserConfig> loadConfig()
}

下载UserConfig后,用户将被重定向到下一个屏幕。我做了这样的事情:

@Override
public void onResume(boolean isNewView) {
subscriptions.add(
userManager.loadConfig().subscribe(config -> {
applyConfig(config);
launchActivity(HomeActivity.class);
}, error -> {
//some error handling
})
);
}

但是,我想显示启动屏幕至少 1 秒。 (如果加载时间少于 1 秒,请添加额外的延迟)

我认为 .delay().delaySubscription() 不适用于我的情况,因为它们会延迟每个请求(无论是短于 1 秒还是不是)。

最佳答案

尝试Zip运算符

Returns a Single that emits the results of a specified combiner function > applied to two items emitted by two other Singles.

你可以做类似的事情

Single
.zip(
Single.timer(1, TimeUnit.SECONDS),
userManager.loadConfig(),
(time, config) -> config
)
.subscribe(
config -> {
applyConfig(config);
launchActivity(HomeActivity.class);
}, error -> {
//some error handling
}
);

关于java - RxJava 以最小延迟发出项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50172377/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com