title: Reordering the results of several asynchronous requests
body: <p>I need some conceptual help:</p>
  
  <p>I am trying to display a page that contains a single table with a lot of data (moderately big number of rows, <em>very</em> big number of columns), and I want that page to be as fast and smooth as possible from the user's point of view. What I am doing is the following:</p>
  
  <ol>
  <li><p>Retrieve a list containing the database primary keys of the elements to be displayed in the table.</p></li>
  <li><p>Iterate through the list, asynchronously request each element given its primary key, and, every time element is retrieved, add it to the table.</p></li>
  </ol>
  
  <p>Each of these retrieval operations is implemented as a Web service call.</p>
  
  <p>Now my questions are the following:</p>
  
  <ol>
  <li><p>How can I reorder the elements if they arrive in a different order than they were requested? (It is absolutely essential for me that these elements be inserted in the table in the same positions as their respective primary keys were in the original list.)</p></li>
  <li><p>Can this strategy be made compatible with any of the main JavaScript grid controls available out there? (Without me having to modify or understand how these controls internally work, of course.)</p></li>
  </ol>