我有一个带有异步方法的类.所有的方法都是最简单的:
class SomeClass {
func someFunc(params: SomeParams, completion: ((SomeResult) -> ())?) {
... //some code where completion is called asynchronously, not only with DispatchQueue.async
}
...//other methods
}
现在我需要添加一种可能性来取消这些任务,但SomeClass
不负责它,所以这样的代码应该放在SomeClass
以外的另一个类中.他们建议使用DispatchWorkItem
,但如何正确地将这样的异步调用包装到它中?
注意:有关于如何用DispatchWorkItem
替换DispatchQueue.global().async
的问题和答案,而不是关于包装现有任务的问题和答案