правильно ли реализована данная асинхронная функция

это ответ на одну задачу и я не уверен что в строке с * в переменной job содержится промис в момент добавления как по мне чтобы в job точно находился результат функции fetch перед ним должен стоять await

async function getUsers(names) {
  let jobs = [];

  for(let name of names) {
    let job = fetch(`https://api.github.com/users/${name}`).then(
      successResponse => {
        if (successResponse.status != 200) {
          return null;
        } else {
          return successResponse.json();
        }
      },
      failResponse => {
        return null;
      }
    );
    jobs.push(job); //*
  }

  let results = await Promise.all(jobs);

  return results;
}

getUsers([1,2,3,4,5]).then(n => console.log(n))


Ответы (1 шт):

Автор решения: DiD

Правильнее будет скорее так:

async function getUsers(names) {
  const results = [];
  for(let name of names) {
    try{
      const response = await fetch(`https://api.github.com/users/${name}`);
      const json = await response.json();
      results.push(json);
    } catch(error) {
      console.error(error);
    }
  }
  return results;
}

getUsers([1,2,3,4,5]).then(n => console.log(n))

→ Ссылка