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

swift - 如何使用 PromiseKit 重构快速回调以承诺

在使用 node.js 中的 bluebird 做一些经验之后,我正在尝试第一次尝试使用 PromiseKit 进行快速承诺。我使用回调进行身份验证的原始服务函数如下所示:

我正在尝试重写为这样的内容:

但是,我的 then 行出现错误:

我曾认为通过使用 Promise() 解决承诺,我将实现最初的承诺类型。我哪里错了?

0 投票
1 回答
940 浏览

ios - 未要求承诺的错误处理程序

我有一项服务,当我输入错误的登录凭据时它会失败。但是,我的 Promise 错误处理程序没有被调用。

我似乎不明白我的代码有什么问题,因此error永远不会到达回调。

服务

处理

0 投票
0 回答
634 浏览

ios - 为什么拒绝带有自定义错误的 Alamofire 请求会导致 PromiseKit:未处理错误:消息

我正在使用以下内容:

  • 阿拉莫火 (3.1.4)
  • PromiseKit (3.0.0)
  • xCode 版本 7.2.1 (7C1002)

我拒绝 Alamofire 请求,并出现以下自定义错误:

Error是为创建自定义 alamofire NSErrors 提供便利方法的结构。我正在使用errorWithCode如下所示。

我还尝试了以下方法:

reject(NSError(domain: "somedomain", code: 123, userInfo: [:]))

无论哪种情况,我都会在 xCode 控制台中收到以下消息:“... PromiseKit: Unhandled Error: Error Domain=com.alamofire.error Code=-6000 "reason" UserInfo={NSLocalizedFailureReason=reason}"

我想知道这是我做错了什么还是错误?

这是完整的功能:

非常感谢任何帮助!

谢谢!

0 投票
2 回答
1105 浏览

swift - 如果一个已经在运行的 PromiseKit 承诺返回一个未决的承诺的最佳 Swift 模式是什么?

我有一些昂贵的承诺会在不同的地方被调用。理想情况下,我只想链接现有的飞行中的承诺(带有可选的力量),所以我发现自己在做这样的事情:

但这感觉像是相当多的样板(每个承诺的局部变量,以及每个函数开头的现有块),所以我想知道是否有人看到了抽象变量和包装器的好模式?

借用 Python 的一个术语,我正在寻找一个可以隐藏所有这些的装饰器。就像是:

有什么建议,还是我应该考虑自己动手?

0 投票
1 回答
2372 浏览

ios - 使用 PromiseKit 处理错误

我有以下枚举:

在我的视图控制器中,我有以下代码:

但错误不会解开到 RequestResult 中。在我的调试器中,我看到了这个:

在此处输入图像描述

我不明白什么是“何时”以及如何得到这个。错误没有成员“何时”。打印出此错误如下:

0 投票
0 回答
678 浏览

ios - 如何在 PromiseKit 中进行单元测试?

测试目标的代码如下。

下面是一段测试代码。我想打电话then,但我不能。

我怎么打电话then

0 投票
1 回答
409 浏览

swift - PromiseKit:委托系统包装器似乎在链的开头未使用时立即返回

PromiseKit还很陌生,而且我已经尝试了几天来找出一个解决方案,以解决承诺包装的委托系统(UIALertView+PromiseKitPMKLocationManager等)的意外行为。

在我相当典型的应用程序设置过程场景中,我试图链接用户在应用程序加载时必须执行的一系列操作。为了这个例子,让我们将案例限制为只有两个步骤:将用户登录到一个 Restful 系统,然后显示一个 alertView 并等待用户的交互。

下面是我的代码,其中:

  1. LoginToService 是通过扩展 MCUser 获得的基于块的方法的可承诺版本PromiseKit。这可以按预期工作,并在用户登录后返回,或者因错误而失败。

  2. 在成功登录的“then”子句中,我通过 alert.promise() 返回其承诺版本来呈现一个 alertView。

    我希望在调用连续的 .then 子句(最后是“finally”子句)之前实现该承诺 - 根据 PromiseKit 的实现,当用户单击按钮以将其关闭时,应该实现警报的承诺委托系统包装器:当我使用 alert.promise().then 启动 Promises 链时,这可以很好地观察到的行为 -

我观察到的是,链立即继续,无需等待用户点击,“点击”和“最终”消息被打印到控制台,屏幕上的警报等待操作。如果不是在 Promise 链的开头,我是否显然遗漏了某些东西,或者那些不打算使用的委托系统包装器?

提前感谢您的任何提示

0 投票
0 回答
637 浏览

ios - 使用 Mockingjay 对 Alamofire + PromiseKit 进行单元测试

我的项目中有以下代码:

Mockingjay并使用框架对该功能进行单元测试

问题如下:执行进入代码的“错误”分支而不是“然后”它是存根在这种情况下无法正常工作的结果,我不知道如何解决。有什么建议么?

0 投票
1 回答
286 浏览

xcode - PromiseKit 分段错误:11

我正在尝试获得使用 PromiseKit 的基本承诺。但是以下代码无法编译:

这是我得到的错误:

这很令人沮丧。有没有人遇到过这个?

0 投票
1 回答
546 浏览

xcode - PromiseKit 分支承诺

假设你的 Promise 链中有一个分支,它要么不返回任何内容,要么返回 AnyObject 承诺。你会指定什么作为'then'闭包的返回类型?例如:

如果我将 Void 作为“then”闭包的返回类型,则会出现段错误;如果我把 Promise 作为返回类型,那么我会得到一个错误:

有什么建议么?

谢谢