Создайте новый NSError в Swift (чтобы отклонить обещание от PromiseKit)
Я пытаюсь использовать PromiseKit, и я застрял в отказе от обещания.
Отклонение обещания выполняется либо путем вызова функции reject с аргументом 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, [])
жалуется на "Дополнительный аргумент в вызове".
Ответы
Ответ 1
В этом коде есть две проблемы:
NSError("somedomain", 123, [])
- Все параметры инициализации
NSError
имеют внешнее имя.
- Пустое
Dictionary
литерал [:]
, а не []
. []
для Array
Try:
NSError(domain: "somedomain", code: 123, userInfo: [:])
Или, если у вас нет userInfo
, вы можете передать nil
для него.
NSError(domain: "somedomain", code: 123, userInfo: nil)