嗨,我正在尝试创建一个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'

最佳答案

fulfillreject变量具有不同的类型,因此它们不能都作为单独的值包含在同一字典或数组中。 (除非您制作的字典/数组包含Any,但这会丢失所需的类型信息,否则可能除外。)

检出Promise.pendingPromise()。您可以保存一个PendingPromise数组。

关于ios - 保存 promise 兑现并拒绝 promise 包,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32526086/

10-13 09:27