iOS 的 Promise 库,支持 Swift

2015-01-15 16:45:34 +08:00
 banxi1988
http://promisekit.org/
今天在一个网络请求时: 上传多图然后发帖, 突然觉得如果用 Promise 看起来会好看很多.
有用过的来谈谈体会? 我准备使用了.

ps: 这个主页也是我喜欢的类型
3734 次点击
所在节点    iDev
4 条回复
tony1016
2015-01-15 16:57:28 +08:00
还不错
PrideChung
2015-01-15 23:33:42 +08:00
刚好最近也在关注,现在的功能比刚出来的时候要完整了。整个库比起ReactiveCocoa轻量很多,而且有最关键的两个功能:
1.链式调用异步操作,每一步的输出作为下一步的输入
2.并发多个异步操作,等待所有结果返回再进行下一步操作

其实我也不是很喜欢RAC那套绑定机制,打算试试PromiseKit。
banxi1988
2015-01-16 08:03:30 +08:00
@PrideChung
@tony1016
我昨天试了下 Swift 版本的 PromiseKit, 发现其代码看起来比较复杂,
感觉不少黑魔法似的, 将其代码添加进项目后,更容易造成 Swift的 SourceServiceCrash
了,所以我暂时又没有用,改天在其他小 Demo 多熟悉熟悉之后再加入到项目中使用.
自己模拟 Promise 中 When 的做法,写了以下代码来处理,总得来说就是多用回调:
其中一个坑就是,在 Swift中不能在闭包中调用内部函数,得用闭包
代码如下: 请求指点
https://gist.github.com/banxi1988/c85b51d873f0a6bda0b4
PrideChung
2015-01-16 11:11:57 +08:00
@banxi1988 将嵌套的回调拆分成一个个函数也是不错的做法 ( http://callbackhell.com/ ),但始终还是PromiseKit或者ReactiveCocoa看起来直观得多

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/162438

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX