gpt4 book ai didi

rx-java - 立即交付第一个项目, 'debounce' 后续项目

转载 作者:行者123 更新时间:2023-12-03 07:55:56 25 4
gpt4 key购买 nike

考虑以下用例:

  • 需要尽快交付第一件商品
  • 需要在 1 秒超时后消除以下事件

  • 我最终实现了基于 OperatorDebounceWithTime 的自定义运算符然后像这样使用它
    .lift(new CustomOperatorDebounceWithTime<>(1, TimeUnit.SECONDS, Schedulers.computation()))
    CustomOperatorDebounceWithTime立即交付第一个项目然后使用 OperatorDebounceWithTime运算符(operator)的逻辑去抖动后面的项目。

    有没有更简单的方法来实现所描述的行为?让我们跳过 compose运营商,它不能解决问题。我正在寻找一种无需实现自定义运算符即可实现此目的的方法。

    最佳答案

    更新:
    根据@lopar 的评论,更好的方法是:

    Observable.from(items).publish(publishedItems -> publishedItems.limit(1).concatWith(publishedItems.skip(1).debounce(1, TimeUnit.SECONDS)))

    会不会像这样工作:
    String[] items = {"one", "two", "three", "four", "five", "six", "seven", "eight"};
    Observable<String> myObservable = Observable.from(items);
    Observable.concat(myObservable.first(), myObservable.skip(1).debounce(1, TimeUnit.SECONDS))
    .subscribe(s -> System.out.println(s));

    关于rx-java - 立即交付第一个项目, 'debounce' 后续项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30140044/

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