什么是 RxSwift 3.0 等同于 RxSwift 2.x 中的 AnonymousDisposable?
What is the RxSwift 3.0 equivalent to AnonymousDisposable from RxSwift 2.x?
ReactiveX.io documentation 使用 AnonymousDisposable
,它在 RxSwift 2.x 中,但在 RxSwift 3.0 中是一个未解析的标识符。我应该改用什么?
let source = Observable.create { observer in
for i in 1...5 {
observer.on(.Next(i))
}
observer.on(.Completed)
// Note that this is optional. If you require no cleanup you can return
// NopDisposable.instance
return AnonymousDisposable {
print("Disposed")
}
}
source.subscribe {
print([=11=])
}
使用:
return Disposables.create {
print("Disposed")
}
要在 Swift 3、4、5 中创建 Observable
,您必须用 Disposables.create()
替换旧的 AnonymousDisposable
实例,就像这样:
let source = Observable.create { observer in
observer.on(.next(1))
observer.on(.completed)
return Disposables.create()
}
如果你想在处理 Observable 时采取一些行动,你可以使用你之前提到的那个:
return Disposables.create {
print("Disposed")
}
希望对你有所帮助。
请注意,此语法来自 Swift 2:
NopDisposable.instance
也被替换为
Disposables.create()
除此之外,值得注意的是,在幕后,NopDisposable
仍然存在,但通过此 create
方法公开。 Here's the source.
ReactiveX.io documentation 使用 AnonymousDisposable
,它在 RxSwift 2.x 中,但在 RxSwift 3.0 中是一个未解析的标识符。我应该改用什么?
let source = Observable.create { observer in
for i in 1...5 {
observer.on(.Next(i))
}
observer.on(.Completed)
// Note that this is optional. If you require no cleanup you can return
// NopDisposable.instance
return AnonymousDisposable {
print("Disposed")
}
}
source.subscribe {
print([=11=])
}
使用:
return Disposables.create {
print("Disposed")
}
要在 Swift 3、4、5 中创建 Observable
,您必须用 Disposables.create()
替换旧的 AnonymousDisposable
实例,就像这样:
let source = Observable.create { observer in
observer.on(.next(1))
observer.on(.completed)
return Disposables.create()
}
如果你想在处理 Observable 时采取一些行动,你可以使用你之前提到的那个:
return Disposables.create {
print("Disposed")
}
希望对你有所帮助。
请注意,此语法来自 Swift 2:
NopDisposable.instance
也被替换为
Disposables.create()
除此之外,值得注意的是,在幕后,NopDisposable
仍然存在,但通过此 create
方法公开。 Here's the source.