How to dynamically chain JavaScript promises?

Sometimes, we want to dynamically chain JavaScript promises.

In this article, we’ll look at how to dynamically chain JavaScript promises.

How to dynamically chain JavaScript promises?

To dynamically chain JavaScript promises, we can use the for-of loop and async and await.

For instance, we write:

const myAsyncFuncs = [
  (val) => {
    return Promise.resolve(val + 1);
  },
  (val) => {
    return Promise.resolve(val + 2);
  },
  (val) => {
    return Promise.resolve(val + 3);
  },
];

(async () => {
  for (const f of myAsyncFuncs) {
    const v = await f(1)
    console.log(v)
  }
})()

We have the myAsyncFuncs array that has functions that returns promises.

Then we can run each function sequentially by creating an async function that loops through the functions with a for-of loop.

We get the resolved value of each promise with await.

Therefore, we see 2, 3, and 4 logged for v.

Conclusion

To dynamically chain JavaScript promises, we can use the for-of loop and async and await.