Skip to content

CallTask

readeyKim edited this page Aug 14, 2019 · 1 revision

CallTask는 Service Interface에서 정의한 메소드의 리턴 타입으로 반드시 지정해야 하는 객체입니다.

HttpClient 객체로부터 인스턴스를 주입받은 Service Interface 객체의 메소드를 실행할 경우 Request를 구축하기만 할뿐 실질적인 통신은 이루어지지 않습니다.
실제 통신은 해당 메소드의 리턴 값으로 받은 CallTask 객체의 execute(), enqueue() 메소드를 통해서 이루어집니다.

CallTask 클래스의 형태는 다음과 같습니다.

public interface CallTask<T> {

    Response<T> execute() throws IOException; // Synchronous request

    void enqueue(CallBack callback); // Asynchronous request

    void cancel(); // cancel request

    boolean isCanceled();

}

주의사항으로, 하나의 CallTask 객체는 한 번의 요청만 수행할 수 있습니다.

만약 동일한 요청을 여러 번 수행하고 싶다면 필요로 하는 요청 횟수만큼 CallTask 객체를 생성해야 합니다.

Clone this wiki locally