Можно ли вернуть объект или исключение из обратного вызова - PullRequest
0 голосов
/ 24 апреля 2020

Java, Retrofit 2

Я использую Retrofit для создания асинхронного c http-запроса. Но мне нужно также вернуть результат обратного вызова.

Фрагмент:

import retrofit2.Response;

 public Cart itaddProductToCart(ProductEntry productEntry) {
        TransportService.addProductToCartAsync(productEntry, new DefaultRestClientCallback<Cart>() {
            @Override
            public void onSuccess(Response<Cart> response) {
                Cart cart = response.body();
                return cart;
            }

            @Override
            public void onError(ErrorResponse errorResponse) {
                throw new ResponseStatusException(HttpStatus.resolve(errorResponse.getCode()), errorResponse.getMessage());
            }
        });
    }

Но, конечно, я получаю ошибку компиляции:

error: incompatible types: unexpected return value

в этой строке:

return cart;

Можно ли вернуть Корзина с onSuccess или Исключение с onFailure?

...