在NSOperation中包装异步函数调用

菲利普·特伦特(Phillip Trent)

我正在尝试使用带有完成处理程序的函数,如下所示:

myFunc(completion: {(var1, var2) -> Void in
    // do something interesting with variables
})

我的问题是我需要依赖于其他NSOperation并具有NSOperations的依赖关系,因此我需要将myFunc()包装在NSOperation中。我将如何去做呢?

我已经开始研究NSOperation的子类并实现异步“ finished”标志,但是似乎应该有一种更简单,更轻便的方法来实现此操作而无需子类,可以使用NSBlockOperation或NSInvocationOperation。

菲利普·特伦特(Phillip Trent)

我找到了AsyncOpKit的解决方案。内部异步调用完成后,它允许您将操作标记为“完成”。这是上面定义的函数的示例代码

class MyFuncOperation: AsyncOperation {
    override main() {
        myFunc(completion: {(var1, var2) -> Void in
            // do something interesting with variables
            finish()
        })
    }
}

然后就像使用MyFuncOperation任何子NSOperation一样使用

let operation = MyFuncOperation()
NSOperationQueue.currentQueue()!.addOperation(operation)

https://cocoapods.org/pods/AsyncOpKit

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

iOS:在方法中包装异步调用

来自分类Dev

包装在UseEffect中的React异步函数

来自分类Dev

如何在Promise中包装异步函数?

来自分类Dev

Qt中的异步函数调用

来自分类Dev

在类中调用异步函数

来自分类Dev

在Java中的异步函数调用

来自分类Dev

从同步函数中调用异步函数

来自分类Dev

在构造函数中调用异步函数

来自分类Dev

永远不会调用NSOperationQueue内部的NSOperation中的异步回调

来自分类Dev

在Delphi中包装函数调用泛型

来自分类Dev

包装Python中的单个函数调用

来自分类Dev

如何在非异步函数中调用异步函数

来自分类Dev

将异步代码包装在阻塞调用中

来自分类Dev

在行为回调中包装异步 moxios 调用

来自分类Dev

如何在异步函数中包装Mocha / Chai测试?

来自分类Dev

如何在异步函数中包装Mocha / Chai测试?

来自分类Dev

在OCaml中异步调用函数

来自分类Dev

在JS中链接异步函数调用?

来自分类Dev

在React中的getDerivedStateFromProps内部调用异步函数

来自分类Dev

从闭包中调用异步函数

来自分类Dev

如何以安全的方式从异步函数中调用同步函数

来自分类Dev

将包装函数定义中接收到的**传递给封闭的(即包装的)函数调用的参数

来自分类Dev

排队异步函数调用

来自分类Dev

递归调用异步函数

来自分类Dev

递归调用异步函数

来自分类Dev

调用自身的异步函数

来自分类Dev

排队异步函数调用

来自分类Dev

递归调用异步函数

来自分类Dev

异步函数调用