2010-12-06 37 views
-1

考虑以下ActionScript/Flex代码:在Flex/Actionscript中,如何知道哪些LocalConnection.send生成状态错误?

var LC:LocalConnection=new LocalConnection(); 
    LC.addEventListener(StatusEvent.STATUS, Status); 
    LC.send('A', 'SomeMethodName', 'Message'); 
    LC.send('B', 'SomeMethodName', 'Message'); 
    LC.send('C', 'SomeMethodName', 'Message'); 

public function Status(event:StatusEvent):void { 
    if (event.level=='error') { 
    // How Can I Know if the error came from 'A', 'B', or 'C' above? 
    } 
} 

假设我做要运行在一系列的发送,但使用并联(一次性),如上所述,并且进一步假设之一,只有一个发送命令会生成一个status ='error'的状态事件:

如何检测哪个发送命令产生状态错误?

回答

2

如果我必须使用多个LocalConnections,我会为每个ConnectionID使用一个不同的实例并创建一个持有者类来管理它们。

0

我相信每发送一条消息都会提高的状态。因此,如果在出现错误之前获得了2条状态消息,那么它就是C.

您可以在LocalConnection上存储一些包装,它存储它在某个数组中发送的消息,并在每次收到状态消息时将其删除。当你遇到错误时,队列头部的信息将会是错误的信息。

+2

你怎么能这么肯定,我会得到错误消息之前的两个状态消息?比如说,它在“B”上的错误 - 我认为你不能指望事件顺序是状态,错误,状态。难道它不容易成为地位,地位,错误吗?在这个异步环境中,确定错误比成功要花费更长的时间。即使我使用第二个想法,我仍然正在面对如何将特定的事件响应与发送它的确切发送关联起来。你能更具体地说明我会如何维持这种关联关系吗? – Joshua 2010-12-06 20:19:09

相关问题