我设法以这种方式创建它:
private final PublishSubject<Void> subject = PublishSubject.create();
但是如何在onNext(T t)
中传递价值呢?我无法将null传递给它,因为它会抛出异常。 onComplete
也不是一个选项。
答案 0 :(得分:8)
2.x中通常不允许空值,因此{1. 1}类型不会让您发出任何n=12
m = (0,1,2)
print n and m
# Result (0, 1, 2)
print n or m
# Result 12
,而不像1.x.如果您认为自己需要Void
作为元素类型,则表明您不关心哪些元素只是您想要反复做出反应。
对于这种情况,您可以使用任何其他类型并发出任何值的信号。在wiki中有一个可以适应的例子:
onNext(null)
答案 1 :(得分:0)
在科特林中,您可以使用任何对象:
val source = PublishSubject.create<Unit>()
source.onNext(Unit)