0

こんにちは、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' を呼び出せないというエラーが表示されます

4

1 に答える 1

0

fulfillとのreject変数は型が異なるため、両方を同じディクショナリまたは配列内に別々の値として含めることはできません。Any(ただし、必要な型情報が失われる辞書/配列を作成する場合を除きます。)

チェックアウトしてくださいPromise.pendingPromise()。の配列を保持できますPendingPromise

于 2016-05-28T03:05:25.637 に答える