当前位置: 首页 > 知识库问答 >
问题:

区分流动中的初始调用和下一个发射

强化
2023-03-14
public Flowable<UploadStatus> getStatusChanges() 

如何将单个更改与初始加载不同?

共有1个答案

刘升
2023-03-14

假设您将结果封装到一个类中,如下所示:

class Wrapper {
    public boolean firstLoad;
    public UploadStatus uploadStatus;

    //constructor omitted for brevity 
}

您可以这样做:

getStatusChanges()
    .map(item -> Wrapper(false, item))
    .startWith(Wrapper(true, null)
    .subscribe(result -> {
        if(result.firstLoad) {
            //show spinner
        } else {
            //handle normaly
        }
    })

另一种方法(根据我这里的回答改编)是使用Publish。

getStatusChanges().publish(items -> items.first().map(item -> Wrapper(true, item)).concatWith(items.skip(1).map(item -> Wrapper(false, item))))
 类似资料:
  • 最近,当我在LeetCode上做一些练习时,我发现了一些绝妙的解决方案。它使用对象o引用数组,我猜可能是因为在Java,所有的东西都是Object。但当我尝试这种方法时,它出错了。所以我尝试了所有的方法来初始化数组,我想看看它们之间的区别,就像下面这样 只有o3会编译一个错误。我不知道是不是因为初始化的方式。我知道当我使用静态初始化时,它会先分配内存,当使用动态初始化时,它不会。它们之间的其他差异

  • (译注:这部分作者还没有完成,不过一旦英文版出来,中文版将进行同步更新,请读者多多关注!) 参考: [N2660 = 08-0170] Lawrence Crowl: Dynamic Initialization and Destruction with Concurrency (Final proposal). (翻译:lianggang jiang)

  • 问题内容: 最初如何在HTML中选中分配单选按钮的值? 问题答案: 您可以为此使用属性:

  • 本文向大家介绍区分盈利能力和流动性。,包括了区分盈利能力和流动性。的使用技巧和注意事项,需要的朋友参考一下 盈利能力和流动性之间的主要区别如下- 盈利能力 公司在一个时期/一年内的利润。 可能没有足够的流动资金。 一家盈利的公司如果在短期内没有流动资金,就可能破产。 在损益表中列示。 确定毛利率、净利润率、息税折旧摊销前利润率、息税前利润率、复合年增长率。 衡量财务绩效。 说明公司能够从业务中获得

  • 我正在尝试实现一个使用可观察的发出更改的类。当对此可观察对象完成订阅时,我想发送一个启动/初始化事件。然后我想发送通常的事件。 例如假设我有两个不同的订户A和B。A和B在不同的时间开始订阅。如果是MyClass。getChanges()发出事件1、2、3、4和5。 如果A在事件1、2之间启动it订阅,则应接收以下事件:InitialEvent、2、3、4、5。 如果B在事件4和5之间启动it订阅,

  • 据我所知,在Java11中,这两个操作可以在一行中完成,不是吗?