问题标签 [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 回答
357 浏览

ios - 保存 promise 实现和拒绝 promisekit

嗨,我正在尝试创建一个承诺,然后将函数履行和拒绝保存到数组或字典中。我不知道这是否可行我得到了一些编译器错误。我知道你可以将函数存储在数组中,但我认为既然在我需要做其他事情的承诺中,这是我的代码

我收到错误无法使用类型为“([String:(NSError)-> Void],forKey:String)”的参数列表调用“updateValue”

0 投票
2 回答
2585 浏览

ios - 在 PromiseKit 上链接承诺

我正在尝试链接一些需要在返回之前解决的承诺。

就我而言,对于 databaseResult 的每个元素,我需要使用返回承诺的方法获取一些数据。

一旦我为数组的每个元素获取了数据,我需要返回到调用方法。

如果我运行它,我会得到

我对 PromiseKit 的经验很少,文档/示例也很少,所以我不知道我在这里缺少什么。

0 投票
1 回答
783 浏览

ios - PromiseKit 中的承诺链

我有以下情况:

  1. 从服务器请求令牌
  2. 执行一个请求,即getAllNews
  3. 解析请求 getAllNews 的响应
  4. 持久化解析的数据
  5. 删除请求的令牌

我使用 Promise 执行这 5 个操作:

我面临的问题是我无法将参数发送到finally- 此token参数丢失。

我考虑过在 , 之后立即调用deleteTokenthen[self performRequestGetAllNewsUsingToken:token]只有在前一个解析为实际结果而不是错误时才会执行操作。无论请求的结果如何,无论它是否成功执行,我都应该销毁令牌。

有没有办法设置一个规则,如果createToken执行,那么deleteToken无论如何都应该调用,但只有在执行我的正常请求之后getAllNews

0 投票
0 回答
416 浏览

ios - 等待 PromiseKit 中的“finally”子句完成

目前我正在使用 PromiseKit 链接一个逻辑,如下所示:

我面临的问题是我在finally子句中调用的方法是异步的,但是我无法将该finally方法与其他承诺链接在一起,因此在其他地方对整段代码的任何使用也等待finally子句在继续下一个承诺之前完成。

0 投票
2 回答
811 浏览

swift - PromiseKit 语法链 swift

我试图在 Promise Kit 上链接一些 Promise,当 Promise 类型是这样时我有语法问题Promise<Location>,只有当 Promise 有类型时,我才会得到编译器错误。我是使用 promisekit 的新手

0 投票
2 回答
1915 浏览

swift - 为什么我必须回报一个承诺?

是代码...

查看该then方法如何不返回任何内容。

当我使用then编译器时说我必须返回一个承诺。为什么我没有选择不这样做?

当我直接添加一个 catch 子句时,错误就消失了。嗯?

0 投票
1 回答
323 浏览

swift2 - 无法为“then”处理程序指定参数类型

如果我这样指定then处理程序的参数类型...

然后我得到错误...

无法将“[Thing] -> Void”类型的值转换为预期的参数类型“(AnyObject) -> AnyPromise”

是否可以做我正在尝试的事情,或者我是否需要在处理程序的主体中强制转换参数?

如果你看这里,那么 Objective-C 代码显示将参数设置为 NSArray,至少不是任何对象。

0 投票
2 回答
1757 浏览

swift2 - PromiseKit 3.0:用循环链接

我正在使用 promisekit 3.0 以一种干净的方式帮助链接 alamofire 回调。目标是从网络调用开始,并承诺返回一个 url 数组。

然后,我希望根据需要对这些 url 执行网络调用,以找到我正在寻找的下一个链接。找到此链接后,我可以将其传递到下一步。

这部分是我卡住的地方。

我可以在数组中选择一个我知道有我想要的东西的任意索引,但我无法弄清楚循环以使其继续运行,直到返回正确的信息。

我尝试从这个 obj-c 示例中学习,但我无法让它快速工作。

https://stackoverflow.com/a/30693077/1079379

他是我所做工作的一个更具体的例子。

有人可以告诉我如何正确地构造它吗?

嵌套承诺是否应该避免这种反模式?在这种情况下,最好的方法是什么。

0 投票
1 回答
307 浏览

swift - 在 PromiseKit 3.0 中加入失败

我有一系列的承诺,我需要解决它们并列出成功的承诺。据我了解,我需要使用它join来做到这一点。但是,当我写:

我收到编译时错误Cannot invoke 'join' with argument list of type '([Promise<Request>])'

我做错了什么,还是join没有在 Swift 中工作?

0 投票
1 回答
889 浏览

swift - 收集一系列成功的承诺

我在 Swift 中使用 PromiseKit 3.0 并且我有一系列的 promises [Promise<Int>]。我想将所有成功的 Promise 收集到一个 Promise 中。Promise<[Int]>.

两者都when拒绝join,如果甚至一个包含承诺拒绝。根据文档,我应该能够使用join并且错误将包含一个已完成值的数组,但在 Swift 中,该错误包含所有传入的承诺,而不是已完成的值。

任何帮助,将不胜感激。