我正在学习ReactiveX,我有一些示例代码结合使用了switchIfEmpty和defer运算符。但是执行结果是意外的。
Observable<bool>.defer(() => Observable<bool>.just(true))
.switchIfEmpty(Observable<bool>.defer(() {
print("here defer");
return Stream.fromFuture(Future<bool>(() {
print("here future");
return true;
}));
})).listen((data) => print("here " + data.toString()));
此代码应返回输出“ Here true”,但我收到输出
here defer
here true
here future