来自 JavaScript 世界,使用异步 javascript 承诺,我相信在 Swift 中使用 GCD 异步队列也能完成同样的事情。
你能给我举一个例子,其中在队列中指定了 2 到 3 个异步函数,其中一个异步操作将结果提供给第二个,第二个将结果提供给第三个(通常称为管道结果),最后一个结果和错误处理程序。
所有函数在设计上都限制为单个参数。
如果在函数 2 期间出现任何错误,则跳过函数 3,并将错误直接传递到错误处理程序。
寻找原生解决方案而不是任何第三方Promise https://en.wikipedia.org/wiki/Futures_and_promises or Monad https://en.wikipedia.org/wiki/Monad_(functional_programming)图书馆。
欣赏 swift 3.0 代码。
编辑。还从示例中了解到,步骤更像是 GCD 中的手动线性路径,其中开发人员将结果提供给下一个并每次检查错误,任何功能编程都可以使用功能组合 https://en.wikipedia.org/wiki/Function_composition_(computer_science)?
我想避免末日金字塔 https://pbs.twimg.com/media/COYihdoWgAE9q3Y.jpg并寻找一个线性异步编程 http://image.slidesharecdn.com/promisesqonline-130314132109-phpapp01/95/javascript-promisesq-library-11-638.jpg?cb=1363267354.
我已联系 Apple 提出支持请求,他们向我推荐了这个 WWDC15 视频高级 NS 操作 https://developer.apple.com/videos/play/wwdc2015/226/.
我没有看到如何将结果从一个子操作传递到另一个子操作,现在根据此视频,如果有人可以编写一些全面的示例代码,其中一个例程在执行后将结果传递给下一个例程,我会接受答案。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)