Коллеги, всем привет!
Помогите решить задачу.
нужно написать функцию, которая получает массив всех пользователей и передает его в функцию коллбэк.
пример
getUsersInfo((users) => {
console.log(users); // [ { name: 'Alex', age: 70 }, { name: 'Elon' } ]
});
Для получения данных вам предоставлены 2 асинхронные функции
getUsersIds - Возвращает массив с идентификаторами пользователей
getUserInfo - Возвращает данные пользователя по заданному идентификатору
пример их работы
getUsersIds((ids) => {
console.log(ids); // ['id2', 'id6']
});
getUserInfo('id2', (userInfo) => {
console.log(userInfo); // { name: 'Alex', age: 70 }
});
Вот что получилось сделать
const obj = {
id1: {
name: 'Victor',
age: 32,
},
id2: {
name: 'Alex',
age: 28,
},
id3: {
name: 'Ivan',
age: 30,
},
};
function getUsersIds(cb) {
setTimeout(() => cb(Object.keys(obj)), 500);
}
function getUserInfo(id, cb) {
setTimeout(() => cb(obj[id]), 500);
}
function getUsersInfo(onLoad, arr) {
getUsersIds((ids) => {
ids.forEach((id) => {
getUserInfo(id, (user) => {
// onLoad([...user])
});
});
});
}
данные получаю норм, но не понимаю как их обернуть в массив и этот массив впихнуть в коллбэк, в задание нельзя оборачивать в промис.