按顺序连锁不同的功能[关闭]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了按顺序连锁不同的功能[关闭]相关的知识,希望对你有一定的参考价值。
我试着将不同的功能进行连锁。只有当每个函数完成后才去下一个函数。
我可以找到不同的方法来做到这一点。例如,我可以找到不同的方法。
我试过了,所有的工作都在两个函数中进行,但是当有几个函数和大量的代码时,它们也变得很复杂。
我正在寻找一个解决方案,可以帮助保持代码的干净和组织,特别是当有几个函数时。
例如,它可以使代码保持正确的顺序,但它需要添加一种方法,只有当每个函数完成后才可以进入下一个函数。
override func viewDidLoad() {
super.viewDidLoad()
first()
}
func first () {
print("first")
second()
}
func second () {
print("second")
third()
}
func third () {
print("third")
}
答案
你可以通过DispatchQueueGroup来实现。
let queue = DispatchQueue(label: "com.company.app.queue", attributes: .concurrent)
let group = DispatchGroup()
group.enter()
queue.async {
print("#1 started")
Thread.sleep(forTimeInterval: 5)
print("#1 finished")
group.leave()
}
group.wait()
group.enter()
queue.async {
print("#2 started")
Thread.sleep(forTimeInterval: 2)
print("#2 finished")
group.leave()
}
group.wait()
queue.async {
print("#3 finished")
}
它是如何工作的。
- 简单的创建一个组。
- 进入组并开始工作#1
- 继续等待,直到1号完成为止
关于这个问题,为您做一个更详细的解答。
https:/stackoverflow.coma430229568475638。
以上是关于按顺序连锁不同的功能[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
html 将以编程方式附加外部脚本文件的javascript代码片段,并按顺序排列。用于响应式网站,其中ma