Существует два варианта метода create
по отношению к Disposables
.
Первый, как упоминал Даниэль, используется при создании нового Observable; вы будете использовать закрытие Disposables.create { ... }
для "очистки", в основном.
Это очень полезно при использовании flatMapLatest
, так как ваш предыдущий запрос будет обработан, когда поступят новые. Всякий раз, когда он будет удален, будет вызван этот блок очистки.
Observable<Int>.create { observer in
let someRequest = doSomeLongRunningThing { result in
observer.onNext(result)
observer.onCompleted()
}
return Disposables.create {
// How can I "cleanup" the process?
// Cancel the request, for example.
someRequest.cancel()
}
}
Второй вариант Disposables.create
используется для совершенно другой цели - группирование нескольких Disposable
объектов в качестве одного одноразового объекта (a CompositeDisposable
).
Например:
let disposable1 = someAction()
let disposable2 = someOtherAction()
let compositeDisposable = Disposables.create(disposable1, disposable2)