retrofit2.Call.enqueue()方法的使用及代码示例

x33g5p2x  于2022-01-18 转载在 其他  
字(10.7k)|赞(0)|评价(0)|浏览(883)

本文整理了Java中retrofit2.Call.enqueue()方法的一些代码示例,展示了Call.enqueue()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Call.enqueue()方法的具体详情如下:
包路径:retrofit2.Call
类名称:Call
方法名:enqueue

Call.enqueue介绍

[英]Asynchronously send the request and notify callback of its response or if an error occurred talking to the server, creating the request, or processing the response.
[中]异步发送请求并通知回调其响应,或者在与服务器交谈、创建请求或处理响应时发生错误。

代码示例

代码示例来源:origin: square/retrofit

  1. @Override public ListenableFuture<Response<R>> adapt(final Call<R> call) {
  2. return new AbstractFuture<Response<R>>() {
  3. {
  4. call.enqueue(new Callback<R>() {
  5. @Override public void onResponse(Call<R> call, Response<R> response) {
  6. set(response);
  7. }
  8. @Override public void onFailure(Call<R> call, Throwable t) {
  9. setException(t);
  10. }
  11. });
  12. }
  13. @Override protected void interruptTask() {
  14. call.cancel();
  15. }
  16. };
  17. }
  18. }

代码示例来源:origin: square/retrofit

  1. @Override public CompletableFuture<Response<R>> adapt(final Call<R> call) {
  2. final CompletableFuture<Response<R>> future = new CompletableFuture<Response<R>>() {
  3. @Override public boolean cancel(boolean mayInterruptIfRunning) {
  4. if (mayInterruptIfRunning) {
  5. call.cancel();
  6. }
  7. return super.cancel(mayInterruptIfRunning);
  8. }
  9. };
  10. call.enqueue(new Callback<R>() {
  11. @Override public void onResponse(Call<R> call, Response<R> response) {
  12. future.complete(response);
  13. }
  14. @Override public void onFailure(Call<R> call, Throwable t) {
  15. future.completeExceptionally(t);
  16. }
  17. });
  18. return future;
  19. }
  20. }

代码示例来源:origin: square/retrofit

  1. @Override public CompletableFuture<Response<R>> adapt(final Call<R> call) {
  2. final CompletableFuture<Response<R>> future = new CompletableFuture<Response<R>>() {
  3. @Override public boolean cancel(boolean mayInterruptIfRunning) {
  4. if (mayInterruptIfRunning) {
  5. call.cancel();
  6. }
  7. return super.cancel(mayInterruptIfRunning);
  8. }
  9. };
  10. call.enqueue(new Callback<R>() {
  11. @Override public void onResponse(Call<R> call, Response<R> response) {
  12. future.complete(response);
  13. }
  14. @Override public void onFailure(Call<R> call, Throwable t) {
  15. future.completeExceptionally(t);
  16. }
  17. });
  18. return future;
  19. }
  20. }

代码示例来源:origin: square/retrofit

  1. @Override public ListenableFuture<R> adapt(final Call<R> call) {
  2. return new AbstractFuture<R>() {
  3. {
  4. call.enqueue(new Callback<R>() {
  5. @Override public void onResponse(Call<R> call, Response<R> response) {
  6. if (response.isSuccessful()) {
  7. set(response.body());
  8. } else {
  9. setException(new HttpException(response));
  10. }
  11. }
  12. @Override public void onFailure(Call<R> call, Throwable t) {
  13. setException(t);
  14. }
  15. });
  16. }
  17. @Override protected void interruptTask() {
  18. call.cancel();
  19. }
  20. };
  21. }
  22. }

代码示例来源:origin: square/retrofit

  1. @Override public CompletableFuture<R> adapt(final Call<R> call) {
  2. final CompletableFuture<R> future = new CompletableFuture<R>() {
  3. @Override public boolean cancel(boolean mayInterruptIfRunning) {
  4. if (mayInterruptIfRunning) {
  5. call.cancel();
  6. }
  7. return super.cancel(mayInterruptIfRunning);
  8. }
  9. };
  10. call.enqueue(new Callback<R>() {
  11. @Override public void onResponse(Call<R> call, Response<R> response) {
  12. if (response.isSuccessful()) {
  13. future.complete(response.body());
  14. } else {
  15. future.completeExceptionally(new HttpException(response));
  16. }
  17. }
  18. @Override public void onFailure(Call<R> call, Throwable t) {
  19. future.completeExceptionally(t);
  20. }
  21. });
  22. return future;
  23. }
  24. }

代码示例来源:origin: square/retrofit

  1. @Override public CompletableFuture<R> adapt(final Call<R> call) {
  2. final CompletableFuture<R> future = new CompletableFuture<R>() {
  3. @Override public boolean cancel(boolean mayInterruptIfRunning) {
  4. if (mayInterruptIfRunning) {
  5. call.cancel();
  6. }
  7. return super.cancel(mayInterruptIfRunning);
  8. }
  9. };
  10. call.enqueue(new Callback<R>() {
  11. @Override public void onResponse(Call<R> call, Response<R> response) {
  12. if (response.isSuccessful()) {
  13. future.complete(response.body());
  14. } else {
  15. future.completeExceptionally(new HttpException(response));
  16. }
  17. }
  18. @Override public void onFailure(Call<R> call, Throwable t) {
  19. future.completeExceptionally(t);
  20. }
  21. });
  22. return future;
  23. }
  24. }

代码示例来源:origin: square/retrofit

  1. @Override public void enqueue(final MyCallback<T> callback) {
  2. call.enqueue(new Callback<T>() {
  3. @Override public void onResponse(Call<T> call, Response<T> response) {
  4. // TODO if 'callbackExecutor' is not null, the 'callback' methods should be executed
  5. // on that executor by submitting a Runnable. This is left as an exercise for the reader.
  6. int code = response.code();
  7. if (code >= 200 && code < 300) {
  8. callback.success(response);
  9. } else if (code == 401) {
  10. callback.unauthenticated(response);
  11. } else if (code >= 400 && code < 500) {
  12. callback.clientError(response);
  13. } else if (code >= 500 && code < 600) {
  14. callback.serverError(response);
  15. } else {
  16. callback.unexpectedError(new RuntimeException("Unexpected response " + response));
  17. }
  18. }
  19. @Override public void onFailure(Call<T> call, Throwable t) {
  20. // TODO if 'callbackExecutor' is not null, the 'callback' methods should be executed
  21. // on that executor by submitting a Runnable. This is left as an exercise for the reader.
  22. if (t instanceof IOException) {
  23. callback.networkError((IOException) t);
  24. } else {
  25. callback.unexpectedError(t);
  26. }
  27. }
  28. });
  29. }

代码示例来源:origin: resilience4j/resilience4j

  1. @Override
  2. public void enqueue(Callback<T> callback) {
  3. call.enqueue(callback);
  4. }

代码示例来源:origin: square/retrofit

  1. @Override public void enqueue(Callback<T> callback) {
  2. getDelegate().enqueue(callback);
  3. }

代码示例来源:origin: square/retrofit

  1. @Override public void enqueue(final Callback<T> callback) {
  2. checkNotNull(callback, "callback == null");
  3. delegate.enqueue(new Callback<T>() {
  4. @Override public void onResponse(Call<T> call, final Response<T> response) {
  5. callbackExecutor.execute(new Runnable() {
  6. @Override public void run() {
  7. if (delegate.isCanceled()) {
  8. // Emulate OkHttp's behavior of throwing/delivering an IOException on cancellation.
  9. callback.onFailure(ExecutorCallbackCall.this, new IOException("Canceled"));
  10. } else {
  11. callback.onResponse(ExecutorCallbackCall.this, response);
  12. }
  13. }
  14. });
  15. }
  16. @Override public void onFailure(Call<T> call, final Throwable t) {
  17. callbackExecutor.execute(new Runnable() {
  18. @Override public void run() {
  19. callback.onFailure(ExecutorCallbackCall.this, t);
  20. }
  21. });
  22. }
  23. });
  24. }

代码示例来源:origin: square/retrofit

  1. @Override public Future<Response<T>> adapt(Call<T> call) {
  2. Promise<Response<T>> promise = Promise.apply();
  3. call.enqueue(new Callback<T>() {
  4. @Override public void onResponse(Call<T> call, Response<T> response) {
  5. promise.success(response);
  6. }
  7. @Override public void onFailure(Call<T> call, Throwable t) {
  8. promise.failure(t);
  9. }
  10. });
  11. return promise.future();
  12. }
  13. }

代码示例来源:origin: square/retrofit

  1. public void crawlPage(HttpUrl url) {
  2. // Skip hosts that we've visited many times.
  3. AtomicInteger hostnameCount = new AtomicInteger();
  4. AtomicInteger previous = hostnames.putIfAbsent(url.host(), hostnameCount);
  5. if (previous != null) hostnameCount = previous;
  6. if (hostnameCount.incrementAndGet() > 100) return;
  7. // Asynchronously visit URL.
  8. pageService.get(url).enqueue(new Callback<Page>() {
  9. @Override public void onResponse(Call<Page> call, Response<Page> response) {
  10. if (!response.isSuccessful()) {
  11. System.out.println(call.request().url() + ": failed: " + response.code());
  12. return;
  13. }
  14. // Print this page's URL and title.
  15. Page page = response.body();
  16. HttpUrl base = response.raw().request().url();
  17. System.out.println(base + ": " + page.title);
  18. // Enqueue its links for visiting.
  19. for (String link : page.links) {
  20. HttpUrl linkUrl = base.resolve(link);
  21. if (linkUrl != null && fetchedUrls.add(linkUrl)) {
  22. crawlPage(linkUrl);
  23. }
  24. }
  25. }
  26. @Override public void onFailure(Call<Page> call, Throwable t) {
  27. System.out.println(call.request().url() + ": failed: " + t);
  28. }
  29. });
  30. }

代码示例来源:origin: square/retrofit

  1. @Override public Future<T> adapt(Call<T> call) {
  2. Promise<T> promise = Promise.apply();
  3. call.enqueue(new Callback<T>() {
  4. @Override public void onResponse(Call<T> call, Response<T> response) {
  5. if (response.isSuccessful()) {
  6. promise.success(response.body());
  7. } else {
  8. promise.failure(new HttpException(response));
  9. }
  10. }
  11. @Override public void onFailure(Call<T> call, Throwable t) {
  12. promise.failure(t);
  13. }
  14. });
  15. return promise.future();
  16. }
  17. }

代码示例来源:origin: commonsguy/cw-omnibus

  1. private void loadQuestions() {
  2. so.questions("android").enqueue(this);
  3. }

代码示例来源:origin: commonsguy/cw-omnibus

  1. @Override
  2. public void onViewCreated(@NonNull View view,
  3. @Nullable Bundle savedInstanceState) {
  4. super.onViewCreated(view, savedInstanceState);
  5. Retrofit retrofit=
  6. new Retrofit.Builder()
  7. .baseUrl("https://api.stackexchange.com")
  8. .addConverterFactory(GsonConverterFactory.create())
  9. .build();
  10. StackOverflowInterface so=
  11. retrofit.create(StackOverflowInterface.class);
  12. so.questions("android").enqueue(this);
  13. }

代码示例来源:origin: commonsguy/cw-omnibus

  1. @Override
  2. public void onViewCreated(@NonNull View view,
  3. @Nullable Bundle savedInstanceState) {
  4. super.onViewCreated(view, savedInstanceState);
  5. Retrofit retrofit=
  6. new Retrofit.Builder()
  7. .baseUrl("https://api.stackexchange.com")
  8. .addConverterFactory(GsonConverterFactory.create())
  9. .build();
  10. StackOverflowInterface so=
  11. retrofit.create(StackOverflowInterface.class);
  12. so.questions("android").enqueue(this);
  13. }

代码示例来源:origin: square/retrofit

  1. @Override protected void subscribeActual(Observer<? super Response<T>> observer) {
  2. // Since Call is a one-shot type, clone it for each new observer.
  3. Call<T> call = originalCall.clone();
  4. CallCallback<T> callback = new CallCallback<>(call, observer);
  5. observer.onSubscribe(callback);
  6. if (!callback.isDisposed()) {
  7. call.enqueue(callback);
  8. }
  9. }

代码示例来源:origin: square/retrofit

  1. @Override public void call(Subscriber<? super Response<T>> subscriber) {
  2. // Since Call is a one-shot type, clone it for each new subscriber.
  3. Call<T> call = originalCall.clone();
  4. final CallArbiter<T> arbiter = new CallArbiter<>(call, subscriber);
  5. subscriber.add(arbiter);
  6. subscriber.setProducer(arbiter);
  7. call.enqueue(new Callback<T>() {
  8. @Override public void onResponse(Call<T> call, Response<T> response) {
  9. arbiter.emitResponse(response);
  10. }
  11. @Override public void onFailure(Call<T> call, Throwable t) {
  12. Exceptions.throwIfFatal(t);
  13. arbiter.emitError(t);
  14. }
  15. });
  16. }
  17. }

代码示例来源:origin: resilience4j/resilience4j

  1. @Override
  2. public void enqueue(final Callback<T> callback) {
  3. try {
  4. RateLimiter.waitForPermission(rateLimiter);
  5. } catch (RequestNotPermitted | IllegalStateException e) {
  6. callback.onResponse(call, tooManyRequestsError());
  7. return;
  8. }
  9. call.enqueue(callback);
  10. }

代码示例来源:origin: square/retrofit

  1. @Override public void run() {
  2. if (canceled) {
  3. callback.onFailure(BehaviorCall.this, new IOException("canceled"));
  4. } else if (behavior.calculateIsFailure()) {
  5. if (delaySleep()) {
  6. callback.onFailure(BehaviorCall.this, behavior.failureException());
  7. }
  8. } else if (behavior.calculateIsError()) {
  9. if (delaySleep()) {
  10. //noinspection unchecked An error response has no body.
  11. callback.onResponse(BehaviorCall.this, (Response<T>) behavior.createErrorResponse());
  12. }
  13. } else {
  14. delegate.enqueue(new Callback<T>() {
  15. @Override public void onResponse(Call<T> call, Response<T> response) {
  16. if (delaySleep()) {
  17. callback.onResponse(call, response);
  18. }
  19. }
  20. @Override public void onFailure(Call<T> call, Throwable t) {
  21. if (delaySleep()) {
  22. callback.onFailure(call, t);
  23. }
  24. }
  25. });
  26. }
  27. }
  28. });

相关文章