保存 promise 实现和拒绝 promisekit
Posted
技术标签:
【中文标题】保存 promise 实现和拒绝 promisekit【英文标题】:save promise fulfill and reject promisekit 【发布时间】:2015-09-11 14:40:28 【问题描述】:您好,我正在尝试创建一个 Promise,然后将函数 fulfill 和 reject 保存到 array 或 dictionary 中。我不知道这是否可行我得到了一些编译器错误。我知道你可以将函数存储在数组中,但我认为既然是在我需要做其他事情的承诺中,这是我的代码
let requestPromise = Promise<Bool> fulfill, reject in
self.socket.emit(message,dic)
let dicFunc = [ "fulfill": fulfill, "reject":reject]
self.request.updateValue(dicFunc, forKey: uuid)
我得到错误 无法使用类型为“([String : (NSError) -> Void], forKey: String)”的参数列表调用“updateValue”
【问题讨论】:
【参考方案1】:fulfill
和 reject
变量具有不同的类型,因此它们不能作为单独的值包含在同一个字典或数组中。 (除非您创建一个包含 Any
的字典/数组,但这会丢失所需的类型信息。)
查看Promise.pendingPromise()
。你可以持有PendingPromise
s 的数组。
【讨论】:
以上是关于保存 promise 实现和拒绝 promisekit的主要内容,如果未能解决你的问题,请参考以下文章
使用 Mocha 和 Chai-as-Promised 测试被拒绝的 Promise 的特定属性