Я безуспешно пытаюсь пройтись по массиву, который имеет массив в качестве одного из параметров, мне нужно пройтись по этому вложенному массиву, чтобы отобразить его в соответствии со спецификациями, затем мне нужно запустить функцию после завершения родительского цикла. Может ли кто-нибудь указать на мою ошибку при выполнении этого?
const schedule = {}
data.schedule.forEach(item => {
let date = moment(item.date).format('YYYY-MM-DD')
let eventList = []
item.events.forEach(event => {
let start = moment(event.start).format('h:mm A')
let end = moment(event.end).format('h:mm A')
let time = `${start} - ${end}`
eventList.push({time: time, name: event.name})
})
return Promise.all(eventList).then(list => {
console.log('list', list)
schedule[`${date}`] = list
})
})
// this is my issue:
Promise.all(schedule).then(list => {
console.log('schedule:', list)
})
// which bombs the method with:
// TypeError: (var)[Symbol.iterator] is not a function
// at Function.all (native)
Мне действительно нужно вернуть объект, похожий на этот:
{'2017-12-06': [
{time: '9am - 10am', name: 'Jackson Home'},
{time: '11AM - 3PM', name: 'Jackson Home'},
{time: '3PM - 8PM', name: 'Jackson Home'}
]}
schedule
является объектом и не может быть повторен. См. этот пост или этот пост. - person Goodbye StackExchange   schedule 24.01.2018Promise.all
нужен массив, но нужен ли вашему массивуPromise.all
? Ответ - нет. - person trincot   schedule 24.01.2018