CompletionHandler调用顺序
CompletionHandler call sequence
我在我的应用程序中使用了 completionHandler,如下所示
fun getDetails(completionHandler: (variable: AnyObject) -() )
{
// Some work
completionHandler(variable)
}
getDetails
{
variable in
print(variable)
}
我的问题是执行此操作的函数调用顺序是什么?
所以答案是当一个函数(比如A)以函数(比如B)作为参数被调用时,被调用的函数(A)开始执行。一旦参数中的函数(函数 B)被调用,流程就会转到函数(A)被调用的地方。该代码的执行开始,执行后,函数 (A) 的剩余部分将被执行。
在上面的示例中,当调用 getDetails 时,该函数开始执行,但是当调用 completionHandler 时,流程跳转到 { getDetails 的部分,只有在完成后它才会返回并在 completionHandler( ) 被调用。
我在我的应用程序中使用了 completionHandler,如下所示
fun getDetails(completionHandler: (variable: AnyObject) -() )
{
// Some work
completionHandler(variable)
}
getDetails
{
variable in
print(variable)
}
我的问题是执行此操作的函数调用顺序是什么?
所以答案是当一个函数(比如A)以函数(比如B)作为参数被调用时,被调用的函数(A)开始执行。一旦参数中的函数(函数 B)被调用,流程就会转到函数(A)被调用的地方。该代码的执行开始,执行后,函数 (A) 的剩余部分将被执行。
在上面的示例中,当调用 getDetails 时,该函数开始执行,但是当调用 completionHandler 时,流程跳转到 { getDetails 的部分,只有在完成后它才会返回并在 completionHandler( ) 被调用。