我有两个功能
按如下所示调用这两个函数
fun c(){
a()
b()
}
这里面临的问题是在获得 a 方法 b 的响应并同时执行
但是我要一个接一个地执行
请建议
答案 0 :(得分:0)
选项1 :从bbb
的完成内部调用aaa
func aaa() {
Api.taskl {
bbb()
}
}
选项2 :在这样的自定义串行队列中同时进行同步
let serialQueue = DispatchQueue(label: "queuename")
serialQueue.sync {
aaa()
}
serialQueue.sync {
bbb()
}
答案 1 :(得分:0)
您可以在另一个的完成块中调用另一个方法。
答案 2 :(得分:0)
您可以使用闭包:
方法a()为:
func a(_ completion: (() -> ())?){
//Do all of your staff, at the end call this:
completion()
}
您可以通过两种方式调用方法:
a() //this will not execute the callback
//this is a callback where you call the other function
a(){
b()
}