I've seen many topics like this, some with pretty much the exact same title, but I'm still not finding a solution for what I'm attempting.
I basically have an HTML table that is getting data from 10 different sources. 9 of the sources I'm trying to push to an array and fund the sum, which will be one column in the table. And the other source is just a single external query result.
I'm running into problems when they take too long to load and the table has already populated.
I tried a timeout function but it doesn't seem to work even then. I'm also having issues with the table showing 10 commas separated values and not a sum, even when I add a variable =0 and then do source1+= variable for each of the sources.
Heres what I have so far, I Some of the letterers in the code are just random and a placeholder to show the structure. But this is the basic setup. I've only included 2 out of the 9 functions to save space, but its pretty much similar to the first two, 3..4..5 etc.
At a loss here, any help would be awesome and I thank you all for your valuable time.
 /* HTML */
<table id="AA"> <caption>title<span id="totalValue">0</span></caption>
<tr>
<th>L</th>
<th>L Qty.</th>
<th>W</th>
<th class="value">Value</th>
<th>some text</th>
<label for="CD">
    </label>
    <input id="img" type="hidden" value="somedatahere" size="60" />
   </tr>
</table>
//and heres the separate js 
var sumqholder = 0;
$('#Form').submit(function(event) {
   event.preventDefault();
   $('#results').html('loading...');
   var AB = $('#CD').val();
   A.H.call(function(err, J) {
  A.I.call(function(err, K) {
   var EF = $('#EF').val();
   A.G.call(EF, function(err, G) {
    var results = '<b>--:</b> ';
    results += G.round(5);
    sumq += G;
    $('#results').html(results);
   });
  });
  $('#results2').html('loading...');
  var AB = $('#CD').val();
  A.H.call(function(err, J) {
     A.I.call(function(err, K) {
      var EF = $('#EF').val();
      A.G.call(IA, function(err, G) {
       var results2 = '<b>--:</b> ';
       results2 += G.round(5);
       sumq += G;
       $('#results2').html(results2);
      });
     });
     var sumq = sumqholder;
     var L = [{
      M: O,
      quantity: sumq
     }, {
      P: " ",
      quantity: x
     }];
     var totalValue = 0;
     $(document).ready(function() {
      refresh();
     });
     function refresh() {
      $("#AA").find("tr:gt(0)").remove();
      totalValue = 0;
      L.forEach(function(L) {
       sendRequest(L.M, L.quantity);
      });
     }
     function sendRequest(M, L) {
      var url = " " + M + "/";
      $.get(url, function(data) {
       addRow(data[0], quantity);
      });
     }
     function addRow(data, quantity) {
      var value = data.W * quantity;
      totalValue += value;
      var row = '<tr>';
      row += '<td>' + data.I + '</td>';
      row += '<td>' + quantity + '</td>';
      row += '<td>' + data.I + '</td>';
      row += '<td>' + value.toFixed(2) + '</td>';
      row += '<td>' + data.O + '</td>';
      row += '</tr>';
      $('#AA tr:last').after(row);
      updateTotalValue();
     }
     function updateTotalValue() {
      $("#totalValue").text(totalValue.toFixed(6));
     }
 
     
    