'javascript - not able to execute the promise from array one by one

I found that I cannot resolve the promises one by one.

This is my code

const promises = mkt.map((marketItem) => {
  return context.program.account.chain
    .fetch(marketItem[0].instrument)
    .then((instrumentRes) => {
      return Test(context, marketItem[0]).then(
        testResult => {
          return Promise.all([
            functionA(),
            functionB(),
          ]).then((result) => {
            return result
          });
        }
      );
    });
});
console.log(promises)
for (let i=0; i < promises.length; i++) {
  const val = await promises[i]();
  console.log(val);
}

error

promises[i]() is not a function

Why is that?How can I solve it?



Solution 1:[1]

Just removing the () from the await call should already work.

  const val = await promises[i];

However keep in mind that all the promises have already been "started" (I don't know a better word for that) at that point and you're just retrieving the results or an error with the await call.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Cedric