存储完成处理程序并稍后调用 success/error

Store completion handler and call success/error later

我的 class 中有一个 protocol/function 在下方,

func getMovieList(completionHandler: @escaping (Result<[String], Error>) -> Void) { }

调用上述方法时,我想存储完成处理程序并在后面调用success/error。

我试过像下面这样创建类型别名,

typealias AlbumListCompletionHandler = (((Result<[String], Error>)) -> Void)?

在我的 class,

var completionHandlerObj: AlbumListCompletionHandler

func getMovieList(completionHandler: @escaping (Result<[String], Error>) -> Void) { 
    completionHandlerObj = completionHandler
    /...
    .../
}

但我想知道如何调用 completionHandlerObj 中的 success/error 块,有点被击中了。谁能帮我解决这个问题?

它应该像这样工作

completionHandlerObj(.success(["",""]))
completionHandlerObj(.failure(ErrorObject))