Функция getAllSearchResultProfiles
разрешается с массивом responses
.Позже вы пытаетесь сделать .json()
для этого массива, но это не работает;Вы должны сделать .json()
для каждого отдельного элемента в массиве.Это может выглядеть примерно так:
getAllSearchResultProfiles(mainURL).then(responses => {
const jsonBodies = responses.map(response => response.json());
});
Но поскольку .json()
само возвращает обещание (то есть обещание, которое разрешается после получения и анализа всего тела HTTP как JSON), вместо этого можно использовать .json()
изнутри вашей getAllSearchResultProfiles
функции.(В противном случае вам придется использовать Promise.all
.)
Так что вместо того, чтобы делать responses.push(response)
внутри цикла for, вы должны сделать responses.push(await response.json())
.Таким образом, ответ JSON помещается прямо в массив responses
, и вы можете использовать его как есть в .then()
:
getAllSearchResultProfiles(mainURL).then(data => {
console.log(data);
});