小编M A*_*ham的帖子

如何使用 Async/Await 快速进行进度报告?

我有一个需要 2 个回调的函数。我想将其转换为异步/等待。但我怎样才能在等待的同时不断返回进度呢?我正在使用https://github.com/yannickl/AwaitKit来摆脱回调。

 typealias GetResultCallBack = (String) -> Void
 typealias ProgressCallBack = (Double) -> Void
   
 
func getFileFromS3(onComplete callBack: @escaping GetResultCallBack,
                  progress progressCallback: @escaping ProgressCallBack) {

}
Run Code Online (Sandbox Code Playgroud)

我这样使用它:

getFileFromS3() { [weak self] (result) in
        guard let self = self else { return }
        
       // Do something with result
        
    } progress: { [weak self] (progress) in
        guard let self = self else { return }
        
        DispatchQueue.main.async { [weak self] in
            guard let self = self else {return}
            // Update progress …
Run Code Online (Sandbox Code Playgroud)

xcode async-await swift macos-big-sur

7
推荐指数
1
解决办法
3978
查看次数

标签 统计

async-await ×1

macos-big-sur ×1

swift ×1

xcode ×1