代码之家  ›  专栏  ›  技术社区  ›  Max Makeichik

如何在RxJava2中使用void主题?

  •  4
  • Max Makeichik  · 技术社区  · 7 年前

    private final PublishSubject<Void> subject = PublishSubject.create();
    

    但是如何将价值传递给它呢 onNext(T t) ? 我不能将null传递给它,因为它会引发异常。 onComplete 也不是一种选择。

    2 回复  |  直到 7 年前
        1
  •  9
  •   akarnokd    7 年前

    2中通常不允许为null。x因此a Void onNext(null) 与1不同。x、 如果你认为你需要 无效的

    wiki

    enum Irrelevant { INSTANCE; }
    
    PublishSubject<Irrelevant > source = PublishSubject.create();
    
    source.subscribe(e -> { /* Ignored. */ }, Throwable::printStackTrace);
    
    source.onNext(Irrelevant.INSTANCE);
    source.onNext(Irrelevant.INSTANCE);
    
        2
  •  2
  •   Diego Alvis    5 年前

    在里面 科特林 您可以使用单位:

    val source = PublishSubject.create<Unit>()
    
    source.onNext(Unit)