if (discount == null)
throw new ArgumentException("Discount could not be loaded");
返回obervable.empty()时,它将终止Observable。
答案 0 :(得分:0)
您需要使用单例来管理代码。从单例课程中使用
答案 1 :(得分:0)
在这种情况下,您可以避免返回可观察值:
let nextPageRequest = loading.asObservable()
.sample(loadNextPageTrigger)
.flatMap { [unowned self] loading -> Observable<Int> in
return Observable<Int>.create { [unowned self] observer in
print("self.pageIndex called",self.offset)
self.offset += 20
observer.onNext(self.offset)
observer.onCompleted()
return Disposables.create()
}
}
如果您需要该表达式的状态,也可以通过它:
让nextPageRequest = loading.asObservable()
.sample(loadNextPageTrigger)
.flatMap { [unowned self] loading -> Observable<(Bool, Int)> in
return Observable<(Bool, Int)>.create { [unowned self] observer in
print("self.pageIndex called",self.offset)
self.offset += 20
let status = loading || self.pageStatus != true || self.netStatus != true
observer.onNext(status, self.offset)
observer.onCompleted()
return Disposables.create()
}
}
答案 2 :(得分:0)
答案 3 :(得分:0)
您遇到的问题与您发布的代码无关。 flatMap
不允许.completed
事件对其进行转义,这就是empty()
构造函数发出的全部信息。
换句话说,返回.empty()
不是 您可观察的对象终止的原因。