我一直在试图使用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,[])
抱怨“额外征召”。
您在此代码中有两个问题:
NSError("somedomain",[])
> NSError的所有初始化参数都有external name。
>空字典文字是[:],而不是[]。 []是为Array
尝试:
NSError(domain: "somedomain",code: 123,userInfo: [:])
或者,如果您没有任何userInfo,您可能希望通过为零。
NSError(domain: "somedomain",userInfo: nil)