Я использую fetch для получения данных для каждого элемента массива. Эти значения помещаются в массив, и я хочу вернуть максимум этих значений после извлечения всех значений.
Для этого я использовал обещание:
async function init() {
await maxWaste(nut0Codes).then(response => {
console.log(response);
});
}
function maxWaste(nutCodes) {
return new Promise(resolve => {
let waste = [];
nutCodes.forEach((element) => {
let query = queryMaxWaste(element);
fetch(address + encodeURIComponent(query))
.then(response => {
return response.json();
})
.then(response => {
waste.push(response.results.bindings[0].wasteGeneration.value);
console.log(waste);
});
});
let maxWaste = Math.max(waste);
resolve(maxWaste);
});
}
Я не уверен, где моя ошибка, но решение происходит до того, как выборка сделана:
Я получаю ноль от console.log(response)
, и я не знаю, почему он не работает.
Любой совет будет оценен!