嗨,我正在尝试创建一个Promise,然后将功能执行和拒绝保存到数组或字典中。我不知道是否有可能我得到一些编译器错误。我知道您可以将函数存储在数组中,但我认为由于在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 兑现并拒绝 promise 包,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32526086/