I have been trying to use PromiseKit, and I'm stuck at rejecting a promise.
Promise rejection is done either by calling a reject function with an NSError as argument.
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)
}
}
Simply getting an instance of NSError would help me.
EDIT:
NSError("somedomain", 123, [])
complains with "Extra argument in call".
Promise rejection is done either by calling a reject function with an NSError as argument. Simply getting an instance of NSError would help me.
PromiseKit is a Swift implementation of promises. While it's not the only one, it's one of the most popular. In addition to providing block-based structures for constructing promises, PromiseKit also includes wrappers for many of the common iOS SDK classes and easy error handling.
You have two problems in this code:
NSError("somedomain", 123, [])
NSError
have external name.Dictionary
literal is [:]
, not []
. []
is for Array
Try:
NSError(domain: "somedomain", code: 123, userInfo: [:])
Or, if you don't have any userInfo
, you might want to pass nil
for it.
NSError(domain: "somedomain", code: 123, userInfo: nil)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With