我想获得层次结构的两级结果。AsyncToken 的第一个结果是好的,然后我设置了一个 for 循环并在每个循环步骤中以相同的方式调用下一级结果。这是问题所在,token2.addResponder(responder2);
永远不要在每个循环步骤上按时返回结果。毕竟它会向我发送循环结果。但我需要在每一步。你能告诉我我的错误吗?
public function getChildResultHandler(event:ResultEvent, token:Object=null ):void
{
myObject=event.result; //first asynToken result is Ok
var myArrayCol:ArrayCollection=new ArrayCollection();
myArrayCol=ArrayCollection(myObject);
var mlObject:MLObject=new MLObject();
var i:int;
for(i=0;i<myArrayCol.length;i++)
{
mlObject=myArrayCol[i];
if (mlObject.Type=="Bin")
{
token2=new AsyncToken(null);
token2=myService.GetChildObjects(sessionID,mlObject.ObjectID);
responder2=new AsyncResponder(getNextLevelChild,getChildFaultHandler);
token2.addResponder(responder2);
// I cant get results here
// this query goes to getNextLevelChild func after for loop results
}
}
}
我是否必须等待两个结果,如果是,我该如何等待响应者或令牌?