如何从已过滤的Observable中获取类似于BehaviorSubject的行为?

安迪·丹尼

我有一个应用了过滤器的Observable。我想从中获取类似于BehaviorSubject的语义,以便订阅时,订阅者会收到通过过滤器的最后一项。但是,BehaviorSubject似乎并没有被设计为位于链的中间,而只是作为源。

有没有办法做到这一点?

s

您可以compose用来链接它们,例如:

public class BehaviorSubjectTransformer<T> implements Observable.Transformer<T, T> {

    @Override
    public Observable<T> call(Observable<T> o) {
        BehaviorSubject<T> subject = BehaviorSubject.create();
        o.subscribe(subject);
        return subject;
    }

    public static <T> Observable.Transformer<T, T> create() {
        return new BehaviorSubjectTransformer<T>();
    }
}

@Test
public void foo() {
    Observable<Integer> o = Observable.just(1, 2, 3).concatWith(Observable.never()).compose(BehaviorSubjectTransformer.create());
    o.subscribe(new Action1<Integer>() {
        @Override
        public void call(Integer v) {
            System.out.println("1: " + v);
        }
    });
    o.subscribe(new Action1<Integer>() {
        @Override
        public void call(Integer v) {
            System.out.println("2: " + v);
        }
    });
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Rust中实现类似于@override的行为

来自分类Dev

铬中真正的类似于vim的行为

来自分类Dev

如何在类似于GridView的GridLayout中获取选定的子项

来自分类Dev

如何从拖放中获取文件,类似于 input.Files

来自分类Dev

PHP MySQL变量过滤器-“ AND”的行为类似于“ OR”

来自分类Dev

在Outlook WA上的草稿文件夹中获取邮件的行为类似于草稿

来自分类Dev

在MVC动作过滤器中获取类似于webapi的动作参数

来自分类Dev

如何使Pandas中的数据透视表的行为类似于Excel中的数据透视表?

来自分类Dev

类似于SQL的过滤

来自分类Dev

获取`scp path /`的行为类似于`rsync path /`

来自分类Dev

如何使鼠标在Excel中滚动的行为类似于上一页/下一页

来自分类Dev

如何在类似于SQL的GroupBy和Haveing的javascript中过滤对象?

来自分类Dev

如何过滤已过滤?

来自分类Dev

如何过滤已过滤?

来自分类Dev

如何使表格单元的行为类似于UL LI?

来自分类Dev

如何制作行为类似于Session []集合的集合?C#

来自分类Dev

如何使WPF按钮的行为类似于WinForms按钮?

来自分类Dev

如何设计行为类似于根类的python类

来自分类Dev

如何使Downloads文件夹的行为类似于临时目录

来自分类Dev

使软键盘的行为类似于Android中的IOS

来自分类Dev

注入Servlet中的ConversationScoped bean的行为类似于RequestScoped bean

来自分类Dev

在某些程序中,鼠标的行为类似于左键

来自分类Dev

行为类似于 OpenFileDialog 的 OpenDatabaseForm

来自分类Dev

Go中的透明(类似于过滤器)gzip / gunzip

来自分类Dev

如何从类似于/ etc / hosts的文件中的IP地址获取主机名

来自分类Dev

我如何在我的数据库中获取一个类似于字段的值?

来自分类Dev

如何在onActiveCellChanged事件中从已过滤的Slickgrid获取正确的行ID

来自分类Dev

如何获取angular2中已过滤(管道)集的大小

来自分类Dev

如何从已过滤数据表(DT)的选定行中获取数据?

Related 相关文章

  1. 1

    如何在Rust中实现类似于@override的行为

  2. 2

    铬中真正的类似于vim的行为

  3. 3

    如何在类似于GridView的GridLayout中获取选定的子项

  4. 4

    如何从拖放中获取文件,类似于 input.Files

  5. 5

    PHP MySQL变量过滤器-“ AND”的行为类似于“ OR”

  6. 6

    在Outlook WA上的草稿文件夹中获取邮件的行为类似于草稿

  7. 7

    在MVC动作过滤器中获取类似于webapi的动作参数

  8. 8

    如何使Pandas中的数据透视表的行为类似于Excel中的数据透视表?

  9. 9

    类似于SQL的过滤

  10. 10

    获取`scp path /`的行为类似于`rsync path /`

  11. 11

    如何使鼠标在Excel中滚动的行为类似于上一页/下一页

  12. 12

    如何在类似于SQL的GroupBy和Haveing的javascript中过滤对象?

  13. 13

    如何过滤已过滤?

  14. 14

    如何过滤已过滤?

  15. 15

    如何使表格单元的行为类似于UL LI?

  16. 16

    如何制作行为类似于Session []集合的集合?C#

  17. 17

    如何使WPF按钮的行为类似于WinForms按钮?

  18. 18

    如何设计行为类似于根类的python类

  19. 19

    如何使Downloads文件夹的行为类似于临时目录

  20. 20

    使软键盘的行为类似于Android中的IOS

  21. 21

    注入Servlet中的ConversationScoped bean的行为类似于RequestScoped bean

  22. 22

    在某些程序中,鼠标的行为类似于左键

  23. 23

    行为类似于 OpenFileDialog 的 OpenDatabaseForm

  24. 24

    Go中的透明(类似于过滤器)gzip / gunzip

  25. 25

    如何从类似于/ etc / hosts的文件中的IP地址获取主机名

  26. 26

    我如何在我的数据库中获取一个类似于字段的值?

  27. 27

    如何在onActiveCellChanged事件中从已过滤的Slickgrid获取正确的行ID

  28. 28

    如何获取angular2中已过滤(管道)集的大小

  29. 29

    如何从已过滤数据表(DT)的选定行中获取数据?

热门标签

归档