Hi all, I'm having some problems with the asynchronous in Flex using RemoteObject to communicate with the Java side to get some information.
* First of all, let me explain what i'm doing: I have developed a search component to allow the user to find stored documents by name, content or both in some folders. The component has 2 panels: 1. Filter: The properties to filter are a keyword and a list of folders 2. Result: Per each folder selected by the user, will display a datagrid with the documents stored in. When the user fill the filter and click the Search button, automatically i send one request to the Java side per each selected folder (if the user has selected 3 folders, will send 3 requests to the server using RemoteObject) I'm retrieving 3 ResultEvents, but in randomly order, and sometimes the result of the search are not correct because of this. The result of each responses is the dataprovider of the different DataGrids. Here i put some of my code (in my example, this delegate class will be instantiated3 times, one per selected folder) public class SearchDelegate { public var remoteObject:RemoteObject = new RemoteObject(); public function findDocuments(urlEndpoint:String, keyword:String, folder:String):void { try { remoteObject.endpoint = urlEndpoint; remoteObject.destination = "searchService"; remoteObject.addEventListener(ResultEvent.RESULT, onFindDocumentsSuccess); remoteObject.findBasic(keyword, folder); } catch (error:Error) { ErrorMgr.getInstance().raiseError(ErrorMgr.APPLICATION_ERROR, error); } } public function onFindDocumentsSuccess(event:ResultEvent):void { remoteObject.removeEventListener(ResultEvent.RESULT, onFindDocumentsSuccess); var documents:ArrayCollection = event.result; dispatcher.dispatchEvent(new SuccessEvent(ticket, SuccessEvent.SUCCESS, false, true, documents)); } } * My question is: How can i solved this problem? Is any way to match the different requests with the real responses. In my case looks like the responses are overwritten between them (for example: i should have 3 different results, but in many cases i have only 2 results, because one response has overwritten one of the others). I know i can do it synchronous, but in my case i want only in ASYNCHRONOUS way * The other things about my program are working correctly, please only focus in the asynchronous problem. Thanks so much in advanced for your help.