0

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

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”

4

1 回答 1

0

fulfill和变量具有不同的reject类型,因此它们不能作为单独的值包含在同一个字典或数组中。(除非您创建一个包含Any但会丢失所需类型信息的字典/数组。)

退房Promise.pendingPromise()。你可以保存一个 s 数组PendingPromise

于 2016-05-28T03:05:25.637 回答