问题标签 [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 投票
2 回答
1208 浏览

swift - PromiseKit 3.0 链接

我正在尝试编写一个返回承诺的函数:

我在最后一个 then 语句中收到错误:

我的印象是,无论如何,“then”都应该隐含地返回一个承诺;我的想法错了吗?我应该像这样明确地返回一个承诺吗?:

谢谢

0 投票
2 回答
2508 浏览

swift - Swift Promise Kit 和 throws

所以我在我最新的 swift 应用程序中使用 PromiseKit 和 Alamofire 来完成大部分网络代码。当我的回报不是我想要的时,我正在尝试设置我的承诺 - 这是代码的样子:

`

`

如果我在那里没有“抛出”语句,那么这段代码就可以正常工作——如果我只是打印错误,或者把我的警报控制器代码放在那里,就可以按预期工作。但是当我添加抛出时,我在“错误”行上得到一个编译器红旗,上面写着有Cannot call value of non function type 'ErrorType'什么想法吗?谢谢

0 投票
1 回答
1506 浏览

swift - 如何在循环中链接 Swift 中的 Promise?

我正在构建一个基于 Swift 的 iOS 应用程序,它使用PromiseKit来处理 Promise(尽管如果它使我的问题更容易解决,我愿意切换 Promise 库)。有一段代码旨在处理有关覆盖文件的问题。

我的代码看起来大致如下:

但是,这并没有达到预期的效果。for 循环“完成”的速度与迭代列表的速度一样快,这意味着 UIAlertController 在尝试将一个问题覆盖在另一个问题上时会感到困惑。我想要的是链接承诺,以便只有在用户选择“是”或“否”(以及随后的“覆盖”或“不覆盖”代码已执行)后,for 的下一次迭代循环发生。本质上,我希望整个序列是连续的。

考虑到数组的长度不确定,我该如何链接这些承诺?我觉得好像我错过了一些明显的东西。

编辑:以下答案之一建议递归。这听起来很合理,虽然我不确定如果列表变长对 Swift 的堆栈(这是在 iOS 应用程序内部)的影响。理想的情况是,如果有一个结构可以通过链接到 Promise 来更自然地做到这一点。

0 投票
2 回答
3197 浏览

ios - 如何迅速履行零承诺

我想用 nil 履行承诺,但我收到错误消息,我不能在这里是我的代码

我收到编译器错误 无法使用类型为“((,_)-> _)”的参数列表调用类型“Promise< >”的初始化程序

0 投票
1 回答
2498 浏览

swift - PromiseKit - 返回嵌套的承诺

我正在尝试使用 PromiseKit,并且在解决这个问题时遇到了一些麻烦。我有一个类似的功能

我有另一个函数,我想调用它,并返回另一个承诺

我得到一个编译器错误说

几个问题:

  1. 我需要在 promise 调用中使用 dispatch_async 吗?
  2. 我该如何去调用和返回这样的嵌套承诺?

谢谢

编辑:更正一些伪代码

0 投票
1 回答
230 浏览

swift - PromsieKit + Alamofire 用于加载分页的 HTTP 数据

我正在将一些代码从 RestKit 迁移到 Alamofire。我使用 MagicalRecord + AlamofireObjectMapper 将 JSON 映射到 CoreData 对象。

我现在面临以下情况:

我的数据位于此 URL:

现在我必须这样做:

  • 使用页面大小从给定 URL 下载数据的第一页50
  • 如果加载对象的数量等于页面大小,则将start参数增加页面大小
  • 如果数字小于页面大小,则合并所有加载的对象并将它们返回给被调用者。

在我之前的非 Alamofire 示例中,我确实为此使用了递归,但使用 PromiseKit 我想我必须做额外的 Promises 链接,而不是方法调用的递归。

到目前为止,我只完成了简单的 Promises 链接,所以条件循环链接以及如何使用 PromiseKit 实现它对我来说有点神秘。

0 投票
1 回答
1517 浏览

objective-c - Objc PromiseKit:从一个 Promise 中添加新的 Promise

我正在使用PromiseKit来简化我的 API 请求。

在这种情况下,我从服务器获取对象 ID 列表。然后我需要获取每个 ID 的详细信息,并返回一个详细信息数组。相当常见的场景。

实际上,我需要从包含在 FIRST 承诺中的 FOR 循环中向承诺链添加承诺。

我创建的代码开始向右偏移,但在第二个承诺链(填充浅模型请求)可以执行之前,链就完成了。

有没有更好的方法来做我想要完成的事情?也许一种用解析器附加承诺(.then)的方法?

0 投票
2 回答
707 浏览

ios - iOS(ObjC)PromiseKit - 在承诺中返回承诺

我试图通过一些在每个级别添加功能的类来级联承诺。

不幸的是,这段代码在第二行引发了错误:

exc_bad_access (code=1 address=0x10)

(注意:只是调用return [SomeClass whichReturnsPromise]工作正常)

我已经搜索了 stackoverflow 的答案并尝试了上述代码的许多变体(可以在 javascript 中使用),但我一直收到同样的错误。我该如何解决?

0 投票
1 回答
2702 浏览

ios - 使用 PromiseKit 的单元测试函数

我有以下要测试的功能:

这是我创建的模拟经理。

这是非工作测试。

我知道模拟经理被调用,但我的期望从未得到满足(exp.fulfill()没有被调用),我不知道为什么。有任何想法吗?

0 投票
0 回答
463 浏览

swift2 - Swift Alamofire + Promise 捕捉

伙计们,以下工作除了catch,xcode错误expected member name following '.'

这是使用 PromiseKit 承诺的正确方法吗?

欢迎所有建议!谢谢!