ursus
10/08/2019, 5:02 PMclass UploadManager {
private val scope = Scope()
1
fun upload(...): Single {
val requestId = generateId()
return scope.add(requestId) {
Single.whatever
.map { .. }
.filter { .. }
...
}
}
2
fun upload(...): Single {
val requestId = generateId()
return Single.whatever
.map { .. }
.filter { .. }
...
.scopedTo(scope)
}
fun cancel(requestId) {
scope.cancel(requestId)
}
fun onClose() {
// upload manager goes away (logout)
scope.cancelAll()
}
}