1 Reply Latest reply on Sep 23, 2011 10:00 AM by Flex harUI

    Result handler of a remote call not executed till the other remote calls get result

    Margish Kotadiya

      I have 3 remote calls in sequence.

      Say RemoteCall1, RemoteCall2 and RemoteCall3. RemoteCall1 takes the least time say  5 seconds to get results. RemoteCall2 also 5 seconds and RemoteCall3 takes 30 seconds. But the resulthandler for RemoteCall1 does not execute till the RemoteCall3 gets results from server. Any fixes to call resulthander for RemoteCall1 as soon as it gets result without waiting for RemoteCall3 results.

      by the way I am usindg Robotlegs framework and AsyncToken.

        • 1. Re: Result handler of a remote call not executed till the other remote calls get result
          Flex harUI Adobe Employee

          Don’t make remoteCall3 until you get the results from remoteCall2, etc.  That’s the only way I know to guarantee order.

           

          Fllash queues up all remote calls until the end of the frame and sends them all at once, although a network monitor should show that the go out in the order you made the calls.

           

          Similarly, Flash processes all available results at the end of a frame.  Results are asynchronous, but if all three results arrive in the same frame, they will all get deserialized.  And, the server may not be guaranteed to return results in the order requested, especially if different servers are handling the individual calls.

           

          I’m not sure if your time to get results is gated by server response or Flash processing the results.  I suspect it is the latter.  You also have the option of changing the resultFormat to get something that doesn’t need processing like XML and process it later.