мне нужна функция, которая инкапсулирует сложный IAP покупки дерева в простую функцию attemptPurchase, которая возвращает булеву наблюдаемую (истину -> успех, ложная -> отмененная, ошибки -> любой ошибки)Наблюдаемые с деревом решений
Но я в тупике о том, как я могу создать эту функцию, в основном вызывают начало асинхронного решения.
Дерево решений и код ниже => справка очень ценится!
// fails -> missing return function
// but i cannot return the credit check, since the execution is different depending on the result
func attemptPurchase(amount: Int) -> Observable<Bool>{
let creditCheck = creditCheck(amount)
creditCheck.filter{$0}.subscribeNext{ _ in
return Observable.just(true)
}
creditCheck.filter{$0}.subscribeNext{ _ in
return confirmIAP().processIAP()
}
}
func creditCheck(amount: Int) -> Observable<Bool>{
return API.creditCheck.map{$0 > amount}
}
func confirmIAP() -> Observable<Bool> {
// UI for confirming IAP
}
func processIAP() -> Observable<Bool> {
// UI for uploading IAP on my server
}
спасибо за ответ, очень оценили! Есть еще один ответ, который я нашел больше rx-ty. просто добавил. что вы думаете? –
Они ведут себя по-другому, но я не уверен, какой из них вам нужен. – solidcell
Почему они разные? оба достигают цели вопроса –