A very common web development task is to loop through an array and call an asynchronous function. For example, the array contains query parameters and a series of API calls need to made, saving the result into a database. A potential problem with simply wrapping your asynchronous functions call in a for-loop is that the asynchronous calls will likely be completed out of order. So if one asynchronous call depends on the result of the one before it, then chaos ensues. Another drawback to this for-loop strategy, is all the asynchronous calls are fired immediately after one another. This might be a problem if there are some API usage restrictions. In this post, I will explain how to iterate through an array of data and call an asynchronous function such that they are called in order, with a specified delay.