Promises Question, Help Needed

Hello readers, This is a quiz question I was doing for practice and I wanted to know what should be the best answer to this from the choices given.
The question below:-

you are tasked with fetching the HTTP status codes for a list of URL’s using fetch()(https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using-Fetch).
Fill in the missing JS:

async  function fetchStatusCodes(urls) {
//?? fill the blank
return httpResponses.map((response) => response.status );
}

(async ()=>{
const statusCodes= await fetchStatusCodes([
"https://example.com"
"https://example.com/bar"
"https://example.com/baz"
]);
//statusCodes==[200,404,404]
})()

Select the best options

const  httpResponses = await urls.map(async (url) => fetch(url));
const  httpResponses =  urls.map((url) => await fetch(url));
 const  httpResponses = Promise.all(urls, async (url) => fetch(url)) 
 const  httpResponses = await Promise.all(urls.map(async  (url) => fetch(url)))

Thanks for reading, don’t mind any typos

Hey there,

what is your solution and why?

Even I am not sure, so I made a random guess and feel that first should be right. I think we should bring in some more experienced mods to guide us.
@kevinSmith @DanCouper expertise needed. got stuck in this one

To be honest, I don’t know offhand. Why not build it and experiment with it? That’s a great way to learn.

Or you can read the docs and learn how async works instead of requesting some hand-holding without doing your own research.

WHY do you feel that the first should be right? Why is there an async in the callback if there is no await?

Solution 2 probably doesn’t work at first, because you don’t have an async in the callback although you use await.

after reading the promise docs,I think the answer is the last one, is that right?