您好,我正在尝试创建一个 Promise,然后将函数 Fillet 和 Reject 保存到数组或字典中。我不知道这是否可行,我遇到了一些编译器错误。我知道你可以将函数存储在数组中,但我认为既然在 promise 中,我需要做其他事情,这是我的代码
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”
最佳答案
fulfill
和 reject
变量具有不同的类型,因此它们不能同时作为单独的值包含在同一字典或数组中。 (除非您创建一个包含 Any
的字典/数组,但这会丢失所需的类型信息。)
查看Promise.pendingPromise()
。您可以保存一个 PendingPromise
数组。
关于ios - 保存 Promise 履行和拒绝 PromiseKit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32526086/