Как избежать обратного вызова ада в Android LiveData
В Rxjava мы можем сделать это один за другим.
loginObs(merchant)
.flatMap(loginResponse -> {
if (/*successful check*/)
return addShopObs;
else
return Observable.error(new Exception("Login failed!"));
// or throw your own exception, this will terminate the chain and call onError on the subscriber.
})
.flatMap(merchantResponse -> logoutObs)
.subscribe(logoutResponse -> {
/*all operations were successfull*/
}, throwable -> {
/*an error occurred and the chain is terminated.*/
});
Как насчет LiveData? Как мы можем сделать это таким же образом, если результат вернет успех, затем перейдем к следующему LiveData.