Swift 使用DispatchGroup时如何设置超时?
我们可以在swift中使用DispatchGroup向组中添加许多任务。该组将等待所有任务完成后再继续执行下一个代码Swift 使用DispatchGroup时如何设置超时?,swift,Swift,我们可以在swift中使用DispatchGroup向组中添加许多任务。该组将等待所有任务完成后再继续执行下一个代码 let dg=DispatchGroup() dg.notify(队列:.global()){ //完成后在此处运行代码 } 如果任务花费的时间太长而无法完成,是否有方法为此dispatchGroup添加超时 [编辑] 我知道DispatchGroup.wait(超时:)添加了一个超时。但这让它同步等待。是否有一种方法可以使用notify方法实现异步,但仍有超时?如果希望Dis
let dg=DispatchGroup()
dg.notify(队列:.global()){
//完成后在此处运行代码
}
如果任务花费的时间太长而无法完成,是否有方法为此dispatchGroup添加超时
[编辑]
我知道
DispatchGroup.wait(超时:)
添加了一个超时。但这让它同步等待。是否有一种方法可以使用notify
方法实现异步,但仍有超时?如果希望DispatchGroup
异步超时,请尝试:
var dg: DispatchGroup? = DispatchGroup()
DispatchQueue.main.asyncAfter(deadline: .now() + 10) {
self.dg = nil // after time out group is removed asynchronously
}
dg?.notify(queue: .global()) {
// run code here on completion
}
如果希望
DispatchGroup
异步超时,请尝试:
var dg: DispatchGroup? = DispatchGroup()
DispatchQueue.main.asyncAfter(deadline: .now() + 10) {
self.dg = nil // after time out group is removed asynchronously
}
dg?.notify(queue: .global()) {
// run code here on completion
}
创造性的谢谢我以为会有一个超时参数,就像在同步版本中一样。恭喜你,不客气。我使用了
DispatchGroup.wait(超时:)
。但是,我的要求也让我改用这种方法。快乐编码:)创意。谢谢我以为会有一个超时参数,就像在同步版本中一样。恭喜你,不客气。我使用了DispatchGroup.wait(超时:)
。但是,我的要求也让我改用这种方法。快乐编码:)