问题标签 [promisekit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1223 浏览

ios - PromiseKit 和 CloudKit 保存(使用 Swift)

我是 PromiseKit 的新手,我对如何处理多个 Promise 有点困惑。我正在使用 CloudKit 并保存两条记录,当它们都保存时,我想在完成时做一些事情,在出错时做一些事情。我想我应该做以下事情,但是 Xcode 抱怨很明显我一定误解了:

我得到的错误是“无法将表达式的类型 '(($T8) -> ($T8) -> $T7) -> (($T8) -> ($T7) -> $T7' 转换为类型 'PMKPromise '

我真的不明白错误的含义,但我期待“结果”是(结果,错误)元组的数组。

我应该如何写我的“何时”声明?

干杯

尼克

0 投票
6 回答
3155 浏览

swift - Swift 中有没有类似于 Java 的“未来”的东西?

Java 具有可以在新线程中运行任务的 Future 或 FutureTask。然后,将执行结果返回给原线程。Swift 中是否有任何功能可以实现这一点?

0 投票
1 回答
11496 浏览

swift - 在 Swift 中创建一个新的 NSError(拒绝来自 PromiseKit 的 Promise)

我一直在尝试使用 PromiseKit,但我一直在拒绝一个承诺。

Promise 拒绝是通过调用一个以 NSError 作为参数的拒绝函数来完成的。

简单地获取 NSError 的实例会对我有所帮助。

编辑

抱怨“通话中的额外参数”。

0 投票
1 回答
1251 浏览

ios - 使用 PromiseKit 进行单元测试代码

我正在尝试测试Diary依赖于Network.

所以Diary代码:

和测试:

在这个Network测试中是模拟的。但是我看到的承诺链没有被执行。它卡住了。可能是因为then:在主线程上调用了块并且XCTest正在暂停它。但同时它可能应该在 5 秒后继续。可能是什么问题?

更新

看起来这与我最初的假设无关。如果我替换[self.entryCreationManagedContext save:&saveError]YES然后调试到达断点。

更新 2

托管上下文的这种特殊保存看起来像问题。它正在触发有关同步另一个托管上下文的通知。我们正在发现那里还有什么。

0 投票
2 回答
841 浏览

ios - 自己的 Promisekit 承诺没有正确响应

我写了自己的promise,想把它链起来,但结果总是只有链中的第一个。我认为如何使用它们对我来说存在理解问题,但我找不到。

我的代码:

一开始我创建了 Promise,然后链启动,但是在创建 Promise 之后,它将只交付在 Promise 初始化中传递的操作,而不是链作为结果。

我尝试了您的目的,但仍然遇到问题:

这就是我所说的承诺,但它的结果总是空的。承诺在我的日志之后执行,但我无法获取结果。那么我怎样才能在我的方法中得到结果。我认为该方法必须停止,直到承诺运行,我错了吗?

0 投票
7 回答
39665 浏览

ios - 链接多个 Alamofire 请求

我正在寻找一种可以链接多个 HTTP 请求的良好模式。我想使用 Swift,最好是 Alamofire

比如说,我想做以下事情:

  1. 发出 PUT 请求
  2. 发出 GET 请求
  3. 用数据重新加载表

看来,promise的概念可能很适合这个。如果我可以做这样的事情,PromiseKit可能是一个不错的选择:

但这是不可能的,或者至少我不知道。

如何在不嵌套多个方法的情况下实现此功能?

我是 iOS 新手,所以也许我缺少一些更基本的东西。我在其他框架(例如 Android)中所做的是在后台进程中执行这些操作并使请求同步。但是Alamofire 本质上是异步的,所以这种模式不是一种选择。

0 投票
1 回答
258 浏览

ios - 初始化时的承诺工具包段错误

当我在调试模拟器中运行我的代码时,一切似乎都正常。当我在没有调试的情况下运行它时,我在初始化 promise 对象时遇到段错误。

实例化一个承诺对象时,我在返回函数处出现段错误。在 iOS 设备上以调试模式运行时,它也会出现段错误。最后的指令是

我似乎无法让它正常工作。我不完全确定这是怎么发生的。因为它在模拟器上的调试模式下运行良好。感谢所有帮助。

0 投票
1 回答
649 浏览

ios - iOS PromiseKit 和 CoreData NSManagedObjectContext

有一个NSManagedObjectContextwith 并发类型NSPrivateQueueConcurrencyType可以使用 PromiseKit 来美化performBlock:^{}/performBlockAndWait:^{}吗?

我的第一个想法是这样写:

但是,我担心因为 promise 块将在 a 中注册,DISPATCH_QUEUE_CONCURRENT并且如果从不同的线程多次调用updateModel:,则不能保证来自 的块performBlock以正确的顺序注册。

是否有可能发生这种变化?
改用呢performBlockAndWait:^{}

0 投票
1 回答
208 浏览

ios - 重新定义外部块(promiseKit)

我正在使用 PromiseKit(很棒的框架,顺便说一句!)来处理我的应用程序和服务器 API 之间的通信。我想创建某种全局处理程序来响应诸如通知用户我的许多承诺中缺乏网络连接之类的事情。

PMKPromise.h 文件列出了一个未处理的错误处理程序:

然后在 PMKPromise.m 文件中实现此类型,尽管 doc 块暗示这可以被覆盖。我的问题是我该如何重新定义这个变量?

复制与 .m 文件中使用的语法相同的语法会给我一个链接器错误

0 投票
1 回答
529 浏览

objective-c - AFNetworking/Overcoat/Promisekit - 在错误消息中获取返回 json

我正在使用 AFNetworking、Overcoat 和 Promisekit。我想查看从服务器返回的 json。

如何从 NSError 对象中获取响应字符串?