2013-04-19 3 views
0

복잡한 닫힌 API를 사용하고 있습니다. 나는 그것을 사용하는 아주 간단한 방법을 만들고 싶다.준비가 되었다면 대기열에 추가하십시오.

boolean everythingReady = false; 

API.start(new Callback() { 
    public void onReady() 
    { 
     API.invite(new Callback2() { 
      public void onReady() 
      { 
       everythingReady = true; 
      } 
     }); 
    } 
}); 

while (!everythingReady); // Wait 

API.send("hello); 
API.send("What's up"); 

이 채팅 API이며, 위의 코드가 "의사"자바입니다 : Basicaly, 그것은 다음과 같은 문제가있다.

내가 지금하고 싶은 것은 각 위 올바르게로드 될 때까지

API.start(); 
API.invite(); 
API.send("Hello); 
API.send("What's up"); 

이러한 방법 기다릴 것 실행 (onReady라고도 함). (예 : if (!apiStarted) addToQueue else do invite)

(모든 API 소스에서 편집 할 수 없기 때문에) java에서이를 수행 할 수있는 방법이 있습니까? 감사에 대해 어떻게

답변

0

:

API.start(new Callback() { 
    public void onReady() 
    { 
     API.invite(new Callback() { 
      public void onReady() 
      { 
       API.send("hello"); 
       API.send("What's up"); 
      } 
     }); 
    } 
}); 

이 방법 송신 방법은 invite가 준비 후에 만 ​​호출됩니다.

+0

이것은 거의 내가 한 일이지만 cllback 시스템을 사용하고 싶지 않습니다. 대기열에 메소드를 추가하고 시작 조건이 아직 설정되지 않은 경우이를 다시 실행하는 방법이 있습니까? – Manitoba

+0

콜백의 문제점은 무엇입니까? 하나의 함수 안에서 모든 것을 수행하고 호출합니다. API 메소드도 콜백이 필요해 보이는 것처럼 보이기 때문에 최소한 콜백을 사용해야합니다. – BobTheBuilder

관련 문제