#javascript #foreach #axios
#javascript #foreach #axios
Вопрос:
У меня есть массив, который возвращается из вызова ajax и будет содержать список пользователей. Мне нужно выполнить вызов ajax для каждого имени пользователя, которое есть в списке, чтобы извлечь данные. Я написал необходимый код, и я могу подключиться к серверу и получить ответ для каждого пользователя в списке. После предоставления ответа я хочу создать массив или объект, который будет содержать имя пользователя и URL-адрес изображения профиля, чтобы использовать его позже во внешнем интерфейсе. Я столкнулся с проблемой, что к объекту будет добавлен только один пользователь, как я могу это исправить?
fetchFeatured(){
axios.get('https://www.example.com/directory/profiles/all')
.then( (response) => {
const profiles = JSON.parse(response.data.profile_data.profile_list)
profiles.length = 6
const featured = {}
profiles.forEach( (profile) => {
axios.get('https://www.example.com/' profile '/')
.then( (response) => {
featured.username = profile
featured.profile_img_url = response.data.users.profile_pic_url_hd
})
})
})
console.log(featured)
}
Ответ №1:
featured будет находиться в цикле foreach, а для пользовательского списка / массива вы можете объявить массив userInfo в верхней части функции и вставлять featured в него при извлечении данных. .. Я немного изменил ваш код, пожалуйста, ознакомьтесь с ним.
fetchFeatured(){
let userInfos=[];
axios.get('https://www.example.com/directory/profiles/all')
.then( (response) => {
const profiles = JSON.parse(response.data.profile_data.profile_list)
profiles.length = 6
profiles.forEach( (profile) => {
axios.get('https://www.example.com/' profile '/')
.then( (response) => {
let featured = {};
featured.username = profile;
featured.profile_img_url = response.data.users.profile_pic_url_hd;
userInfos.push(featured);
})
})
})
console.log(featured)
}
Комментарии:
1. вы молодец . . 🙂