Board Thread:JS Development/@comment-9605025-20191030060753/@comment-27958705-20191206184909

at step 2 you have races: 1st request that you made can be completed after the 2nd one, just because it can.
 * 1) each goes through array of elements and calls getjson. whole this loop will take like 1-10ms.
 * 2) "getjson" (all of them) completes their requests and calls respective callbacks.

but your actual problem is in the loop: you generating request, when previous one is not completed (actually, is not even started).