Хотите улучшить этот вопрос? Добавьте больше подробностей и уточните проблему, отредактировав это сообщение.
Закрыт 1 год назад.
это ответ на одну задачу и я не уверен что в строке с * в переменной 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))
Правильнее будет скорее так:
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))
Сборка персонального компьютера от Artline: умный выбор для современных пользователей