2012-09-11 2 views
0

RestClientLib을 시도하고 추가 한 eventlistener가 실행되지 않습니다. 이유를 볼 수 없습니다. 누구든지 아이디어가 있습니까?addEventListener를 사용하여 내 이벤트가 추가되지 않는 이유는 무엇입니까?

var restClient = new RestClient(); 

protected function btnInfo2_clickHandler(event:MouseEvent):void 
{ 
    restClient.host = "somehost"; 
    restClient.port = "443"; 
    restClient.secure = true; 

    restClient.setupRequest(RestClient.METHOD_GET, "somemethod"); 
    restClient.addparam("format","json"); 

    restClient.addEventListener(RestEvent.RESULT, onResult); 
    restClient.sendrequest();    
} 

protected function onResult(event:RestEvent):void 
{ 
    trace("onResult"); 
} 

나는 위해 RESTClient에 대한 소스 내부에 중단 점 넣을 경우

private function onResult(event:ResultEvent,token:Object=null):void 
{ 
    trace("Reached onResult handler"); 
    var rawData:String = String(event.result); 
    event.token.dispatchEvent(new RestEvent(RestEvent.RESULT, RestClient.SUCCESS, rawData,event.statusCode,null,event.token, true)); 
} 

데이터가 실제로 수신을하지만, 이벤트가 전파되지 않습니다.

나는 또한 설정 거품을 사실로 만들려고했지만 아무 소용이 없습니다.

+0

이 RestClient 라이브러리에 대한 링크를 게시 할 수 있습니까? onResult 메서드에서 "event.token"이란 무엇입니까? 그것은 RestClient가 아니라 이벤트를받는 것입니다. – normmcgarry

+0

@normmcgarry 링크가 이미 제공되었습니다. –

+0

미안하지만 그것이 하이퍼 링크라는 사실을 전혀 몰랐습니다. 아래의 답변을 참조하십시오! – normmcgarry

답변

1

이벤트가 event.token에서 전달되는 것처럼 보입니다. 이 토큰은 sendrequest 메소드에서 리턴 된 것처럼 보입니다. 그래서 다음과 같이 청취자를 추가하십시오.

var token:AsyncToken = restClient.sendrequest(); 
token.addEventListener(RestEvent.RESULT, onResult); 

희망 사항.

+0

고마워요 선생님! (RestClientLib 작성자의 예는 오도 된 것입니다 ...) –

관련 문제