PromiseKit: метод разрешения требует, чтобы String и Void были эквивалентны - PullRequest
1 голос
/ 24 октября 2019

Я пытаюсь использовать PromiseKit v6 в приложении iOS Swift 5, но я размышляю над очень простой проблемой. Код ниже выдает ошибку компилятора:

let p1 = Promise<String> { seal in
   seal.resolve("Foo"); /// Referencing instance method 'resolve' on 'Resolver' 
                        /// requires the types 'String' and 'Void' be equivalent
}

Я подозреваю, что это что-то совершенно глупое, но что здесь не так?

1 Ответ

2 голосов
/ 26 октября 2019

Вы должны проверить https://mxcl.dev/PromiseKit/news/2018/02/PromiseKit-6.0-Released/, где описаны изменения:

Promise.init Мы изменили основной инициализатор:

Обещание {выполнить, отклонить в

//…} Теперь у вас есть:

Обещание {seal in // seal.fulfill (foo) // seal.reject (error) // seal.resolve (foo, error)}

так что seal.fulfill("Foo") будет работать в вашем случае

...