我一直在尝试使用PromiseKit,而且我一直坚持拒绝承诺。
通过调用带有NSError作为参数的拒绝函数来完成承诺拒绝。
func getAPromise() -> Promise<Bool> {
return Promise<Bool> { fulfiller, rejecter in
let diceRoll = Int(arc4random_uniform(7))
if diceRoll < 4 {
// rejecter(?) how do I call this rejection correctly ?
} else {
fulfiller(true)
}
}
简单地获取NSError的实例会对我有帮助。
修改:
NSError("somedomain", 123, [])
抱怨&#34;呼叫中的额外参数&#34;。
答案 0 :(得分:51)
此代码中存在两个问题:
NSError("somedomain", 123, [])
NSError
的所有初始化参数都有external name。Dictionary
字面值为[:]
,而不是[]
。 []
适用于Array
尝试:
NSError(domain: "somedomain", code: 123, userInfo: [:])
或者,如果您没有userInfo
,则可能需要传递nil
。
NSError(domain: "somedomain", code: 123, userInfo: nil)