0
我已經成功地創建這樣說:如何在RxJava2中使用void Subject?
private final PublishSubject<Void> subject = PublishSubject.create();
但如何在價值傳遞onNext(T t)
給它?我無法將null傳遞給它,因爲它會拋出異常。 onComplete
也不是一個選項。
我已經成功地創建這樣說:如何在RxJava2中使用void Subject?
private final PublishSubject<Void> subject = PublishSubject.create();
但如何在價值傳遞onNext(T t)
給它?我無法將null傳遞給它,因爲它會拋出異常。 onComplete
也不是一個選項。
在2.x中通常不允許空值,因此Void
類型不會讓您發出任何onNext(null)
而不像1.x.如果你認爲你需要Void
作爲你的元素類型,這表明你不關心什麼元素只是你想反覆反覆的東西。
對於這種情況,您可以改爲使用任何其他類型並指示任何值。在wiki有可以調整的例子:
enum Irrelevant { INSTANCE; }
PublishSubject<Irrelevant > source = PublishSubject.create();
source.subscribe(e -> { /* Ignored. */ }, Throwable::printStackTrace);
source.onNext(Irrelevant.INSTANCE);
source.onNext(Irrelevant.INSTANCE);
謝謝您的回答。我只是想,也許在框架中有一些內置的類,我可以使用它。我認爲將這個功能添加到框架是一個好主意。 –
我們沒有內置任何人的業務對象的類型,否則想象你會受到我們沒有特定字段或結構的RxUser對象的限制... – akarnokd