接口 Call

所有超级接口:
Cloneable

public interface Call extends Cloneable
A call is a request that has been prepared for execution. A call can be canceled. As this object represents a single request/response pair (stream), it cannot be executed twice.
  • 嵌套类概要

    嵌套类
    修饰符和类型
    接口
    说明
    static interface 
     
  • 方法概要

    修饰符和类型
    方法
    说明
    void
    Cancels the request, if possible.
    Create a new, identical call to this one which can be enqueued or executed even if this call has already been.
    void
    enqueue(Callback responseCallback)
    Schedules the request to be executed at some point in the future.
    Invokes the request immediately, and blocks until the response can be processed or is in error.
    boolean
     
    boolean
    Returns true if this call has been either executed or enqueued.
    Returns the original request that initiated this call.
    Returns a timeout that spans the entire call: resolving DNS, connecting, writing the request body, server processing, and reading the response body.
  • 方法详细资料

    • request

      Request request()
      Returns the original request that initiated this call.
    • execute

      Response execute() throws IOException
      Invokes the request immediately, and blocks until the response can be processed or is in error.

      To avoid leaking resources callers should close the Response which in turn will close the underlying ResponseBody.

      
      
         // ensure the response (and underlying response body) is closed
         try (Response response = client.newCall(request).execute()) {
           ...
         }
      
       

      The caller may read the response body with the response's Response.body method. To avoid leaking resources callers must close the response body or the Response.

      Note that transport-layer success (receiving a HTTP response code, headers and body) does not necessarily indicate application-layer success: response may still indicate an unhappy HTTP response code like 404 or 500.

      抛出:
      IOException - if the request could not be executed due to cancellation, a connectivity problem or timeout. Because networks can fail during an exchange, it is possible that the remote server accepted the request before the failure.
      IllegalStateException - when the call has already been executed.
    • enqueue

      void enqueue(Callback responseCallback)
      Schedules the request to be executed at some point in the future.

      The dispatcher defines when the request will run: usually immediately unless there are several other requests currently being executed.

      This client will later call back responseCallback with either an HTTP response or a failure exception.

      抛出:
      IllegalStateException - when the call has already been executed.
    • cancel

      void cancel()
      Cancels the request, if possible. Requests that are already complete cannot be canceled.
    • isExecuted

      boolean isExecuted()
      Returns true if this call has been either executed or enqueued. It is an error to execute a call more than once.
    • isCanceled

      boolean isCanceled()
    • timeout

      Timeout timeout()
      Returns a timeout that spans the entire call: resolving DNS, connecting, writing the request body, server processing, and reading the response body. If the call requires redirects or retries all must complete within one timeout period.

      Configure the client's default timeout with OkHttpClient.Builder.callTimeout.

    • clone

      Call clone()
      Create a new, identical call to this one which can be enqueued or executed even if this call has already been.