CodexBloom - Programming Q&A Platform

JavaScript - implementing Array of Promises and Handling Results in Sequential Order

๐Ÿ‘€ Views: 714 ๐Ÿ’ฌ Answers: 1 ๐Ÿ“… Created: 2025-06-19
javascript async-await promises JavaScript

I'm stuck on something that should probably be simple. I'm stuck on something that should probably be simple. I'm working with an array of async functions that return promises, and I'm trying to execute them in a sequential manner while collecting their results into a new array. However, I'm running into trouble with the way I'm handling the promises, and I need to seem to get the results in the order I expect. Hereโ€™s the code snippet I'm using: ```javascript const tasks = [ () => new Promise((resolve) => setTimeout(() => resolve('Task 1 complete'), 1000)), () => new Promise((resolve) => setTimeout(() => resolve('Task 2 complete'), 500)), () => new Promise((resolve) => setTimeout(() => resolve('Task 3 complete'), 2000)) ]; async function executeTasksSequentially(tasks) { const results = []; for (const task of tasks) { const result = await task(); // Awaiting the promise results.push(result); } return results; } executeTasksSequentially(tasks).then(results => { console.log(results); // Expected: ['Task 1 complete', 'Task 2 complete', 'Task 3 complete'] }).catch(behavior => console.behavior('behavior:', behavior)); ``` The output I get is actually in the order of completion instead of the order of execution, which is not what I want. The results come back as `['Task 1 complete', 'Task 2 complete', 'Task 3 complete']` but I was hoping to maintain the sequence as defined in the `tasks` array. Iโ€™ve tried wrapping the task executions in an `Promise.all` but that just returns all results concurrently. Is there a way to ensure that I get the results in the precise order of execution? Also, Iโ€™m using Node.js version 14.x if thatโ€™s relevant. Any help would be greatly appreciated! My development environment is Windows. I've been using Javascript for about a year now. Any ideas what could be causing this? Any examples would be super helpful.