Remove pooled items on error

This commit is contained in:
Peter 2019-10-29 01:13:05 +04:00
parent 17e68f4c27
commit 85c564ad70

View File

@ -163,9 +163,19 @@ private final class FetchVideoLibraryMediaResourceContextImpl {
queue.async {
item?.next(value)
}
}, error: { [weak item] value in
}, error: { [weak self, weak item] value in
queue.async {
item?.error(value)
guard let strongSelf = self, let item = item else {
return
}
for i in 0 ..< strongSelf.items.count {
if strongSelf.items[i] === item {
strongSelf.items.remove(at: i)
item.error(value)
strongSelf.update()
break
}
}
}
}, completed: { [weak self, weak item] in
queue.async {