改造回调之间的区别

jav*_* ff 3 android retrofit retrofit2

我想知道改造中onFailure和response不成功有什么区别

call.enqueue(new Callback<Void>() {
    @Override
    public void onResponse(Call<Void> call, Response<Void> response) {

        if (!response.isSuccessful()){
            *1
        }
    }

    @Override
    public void onFailure(Call<Void> call, Throwable t) {
        *2
    }
});
Run Code Online (Sandbox Code Playgroud)

上面回调中的*1和*2什么时候会出现

小智 5

  • 响应时

void onResponse(Call call, Response response) 为收到的 HTTP 响应调用。注意:HTTP 响应仍可能指示应用程序级失败,例如 404 或 500。调用 Response.isSuccessful() 以确定响应是否指示成功。

  • 失败时

void onFailure(Call call, Throwable t) 当与服务器通信发生网络异常或创建请求或处理响应时发生意外异常时调用。