[英]Why isn't my event added using addEventListener working?
我正在嘗試RestClientLib ,但未觸發我添加的事件監聽器 。 我不明白為什么。 有人有什么想法嗎?
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));
}
實際接收到數據,但不傳播事件。
我也嘗試將氣泡設置為true,但無濟於事。
看起來該事件是在event.token上調度的。 該令牌看起來像是由sendrequest方法返回的。 因此,您可以像這樣添加偵聽器:
var token:AsyncToken = restClient.sendrequest();
token.addEventListener(RestEvent.RESULT, onResult);
希望能奏效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.