FAQ: Requests II - fetch() GET Requests II


This community-built FAQ covers the “fetch() GET Requests II” exercise from the lesson “Requests II”.

Paths and Courses
This exercise can be found in the following Codecademy content:

Web Development

Introduction To JavaScript

FAQs on the exercise fetch() GET Requests II

There are currently no frequently asked questions associated with this exercise – that’s where you come in! You can contribute to this section by offering your own questions, answers, or clarifications on this exercise. Ask or answer a question by clicking reply (reply) below.

If you’ve had an “aha” moment about the concepts, formatting, syntax, or anything else with this exercise, consider sharing those insights! Teaching others and answering their questions is one of the best ways to learn and stay sharp.

Join the Discussion. Help a fellow learner on their journey.

Ask or answer a question about this exercise by clicking reply (reply) below!

Agree with a comment or answer? Like (like) to up-vote the contribution!

Need broader help or resources? Head here.

Looking for motivation to keep learning? Join our wider discussions.

Learn more about how to use this guide.

Found a bug? Report it!

Have a question about your account or billing? Reach out to our customer support team!

None of the above? Find out where to ask other questions here!

Why is there no else statement here:

if (response.ok) {
return response.json();
throw new Error(‘Request failed!’);

Isn’t the error going to be thrown even though response.ok = true ?



I have exact same question. Did you by any chance figure out the answer in the meanwhile?

Isn’t the error going to be thrown even though response.ok = true ?

No :slight_smile: When we return response.json(), we exit the function, so we never get to the point of throwing an error. The return basically means we are done.

Here’s a quote from Mozilla’s return documentation:

When a return statement is used in a function body, the execution of the function is stopped.


IF we get a failed response back from the fetch, not a network error but a falsy response.ok, where is that error displayed? Can we capture a better error message?

Hello so

  1. throw new Error(‘Request failed!’);

is not an ‘else’ situation here? Then what is it?

  1. Also for
    (response) => {
    if (response.ok) {
    return response.json();

in the previous excercises, we always use () => {}, why that they omit () here? coz it is single parameter?

3 then in

.then(jsonResponse => {
return jsonResponse;

when i put then(jsonResponse =>
return jsonResponse;)

it doesn’t work. I thought for single line block you can omit the ‘return’?


Hi! I’m also confused about your first question with there being no else, but for your second question I think we don’t use () because it is an anonymous function, so we don’t really define a function name, and back in the Functions section of the course, under Concise Body Arrow Functions, it shows that yes, when one parameter is used then the () aren’t needed.

As for your third question, I think we need the {} because inside the .then() is an anonymous function. {} contain the function body, and return jsonResponse is the function body in this case.

it doesn’t work. I thought for single line block you can omit the ‘return’?

I’m not sure what you meant here, because in your example return isn’t omitted.

Anyway, hope this helps!