2

我是 PromiseKit 的新手,我对如何处理多个 Promise 有点困惑。我正在使用 CloudKit 并保存两条记录,当它们都保存时,我想在完成时做一些事情,在出错时做一些事情。我想我应该做以下事情,但是 Xcode 抱怨很明显我一定误解了:

let savePromise1 : PMKPromise = db.saveRecord(record1)
let savePromise2 : PMKPromise = db.saveRecord(record2)

PMKPromise.when([ savePromise1, savePromise2 ]).then() { results in
    // handle success or errors
}

我得到的错误是“无法将表达式的类型 '(($T8) -> ($T8) -> $T7) -> (($T8) -> ($T7) -> $T7' 转换为类型 'PMKPromise '

我真的不明白错误的含义,但我期待“结果”是(结果,错误)元组的数组。

我应该如何写我的“何时”声明?

干杯

尼克

4

1 回答 1

1

使用 PromiseKit 的 Swift 版本,它现在支持 CloudKit:

when(db.save(record1), db.save(record2)).then { (record1, record2)->Void in

}

Swift 版本也有一个元组-when,所以你不必对结果数组进行排序。

于 2014-12-04T05:04:02.473 回答