0
Here это код ...Зачем мне возвращать обещание?
login().then {
// our login method wrapped an async task in a promise
return API.fetchKittens()
}.then { fetchedKittens in
// our API class wraps our API and returns promises
// fetchKittens returned a promise that resolves with an array of kittens
self.kittens = fetchedKittens
self.tableView.reloadData()
}.catch { error in
// any errors in any of the above promises land here
UIAlertView(…).show()
}
Посмотрите, как метод then
это ничего не возвращает.
Когда я использую then
, компилятор говорит, что я должен вернуть обещание. Почему у меня нет выбора?
Ошибка исчезает, когда я добавляю предложение catch сразу после. да?
Вы можете указать свои типы более точно, как указано в документации http://promisekit.org/PromiseKit-2.0-Released/ (по-видимому, умозаключение во внутренних закрытий не является совершенным) –
Ответ здесь. .. https://github.com/mxcl/PromiseKit/issues/210. После параметров закрытия я добавил '-> Void'. –