[6.7.0][Fix]解决协程未移除已完成任务的Bug
This commit is contained in:
@@ -92,7 +92,7 @@ class Request<T> {
|
|||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
requestKey?.let {
|
requestKey?.let {
|
||||||
if (deferredMap.contains(requestKey)) {
|
if (deferredMap.containsKey(requestKey)) {
|
||||||
deferredMap.remove(requestKey)
|
deferredMap.remove(requestKey)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -110,8 +110,9 @@ inline fun <T> request(requestKey: String? = "", buildRequest: Request<T>.() ->
|
|||||||
private val deferredMap = ConcurrentHashMap<String, Deferred<Any>>()
|
private val deferredMap = ConcurrentHashMap<String, Deferred<Any>>()
|
||||||
|
|
||||||
fun cancel(requestKey: String) {
|
fun cancel(requestKey: String) {
|
||||||
if (deferredMap.contains(requestKey)) {
|
if (deferredMap.containsKey(requestKey)) {
|
||||||
deferredMap[requestKey]!!.cancel(CancellationException("manual cancel !"))
|
deferredMap[requestKey]!!.cancel(CancellationException("manual cancel !"))
|
||||||
|
deferredMap.remove(requestKey)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user