保存诺言,履行诺言,拒绝诺言



嗨,我正在尝试创建一个promise,然后将函数complete和reject保存到数组或字典中。我不知道这是否可能,我得到了一些编译器错误。我知道你可以在数组中存储函数,但我认为既然是在承诺中,我需要做一些其他的事情,这是我的代码

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 s数组。

最新更新