这样写的代码会不会有什么潜在的bug?基本上,调度组的通知闭包已经在主线程上,但我的技术负责人在通知闭包内再次在 main 上添加了 DispatchQueue。我试图推动删除DispatchingQueue.main.async {}
呼叫,但他们的回应是它已经被 QA-ed 并告诉我不要碰它,担心我可能会导致错误。
会不会有线程问题?
func foo(completion: @escaping () -> Void) {
let group = DispatchGroup()
group.enter()
self.fetchData1() {
// code
group.leave()
}
group.enter()
self.fetchData2() {
// code
group.leave()
}
group.notify(queue: .main) {
DispatchQueue.main.async {
// code
return completion() //yeah... idk why it's written like this
}
}
}