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

How do I deal with only one of several promises failing?

Whenever I click the "View all the People" button, 5 out of the 6 astronauts load, but one always fails. But because of the newly added code in the catch block, I get an error message and none of the astronauts get displayed. What would be a good way to alter the code so that successful promises get displayed even if some of the promises fail?

2 Answers

Dmitry Polyakov
Dmitry Polyakov
4,989 Points

I just found that some of the person objects in a resolved promise are missing person.thumbnail.source property. This is why generateHTML fails when it encounters this and stops. If you change <img src=${person.thumbnail.source}> to <img src=${person.thumbnail}> then it loads all persons, but without images. The problem lies with Wikipedia api.

I think the issue I was having with the wikipedia API was that some of the responses were being returned with the type "disambiguation", which I suppose means that there are two or more wikipedia entries for the name. Within the generateHTML function I added a conditional block to check make sure the type was not "disambiguation" before trying to make the HTML.