Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

JavaScript Asynchronous Programming with JavaScript Understanding Promises Handle Multiple Promises with Promise.all

Why do we have to make getProfile() return promise at all?

Based on what I read here:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/then

the function passed in as an argument in then() itself does not have to return promise, then() function will "convert" the result of that function into a promise anyway, so why don't we just leave it as a regular function returning an array of profiles(instead of array of promise)?

1 Answer

Hey Yaxin Yuan the reason we use Promise.all() is that it ONLY returns an array of promises when we have multiple promises and we want to only know when the promises have successfully finished.

Great question btw you can read it here

and

https://stackoverflow.com/questions/38180080/when-to-use-promise-all