Welcome to the Treehouse Community
The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.
Yaxin Yuan
11,191 PointsWhy 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

Fernando Boza
25,384 PointsHey 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