该函数使用iCal解析器,它从.ics文件返回未来事件。 eventsParser变量包含所有这些事件。然后我必须将它们推入事件数组中进行显示。但是当我运行它时,我得到了这个错误。我试图弄清楚我有限的js knowladge但没有运气。我还在StacOverflow上检查了几个相同的问题,但没有什么真正帮助我。
function LoadEvents() {
var events = [];
var eventsParser = [];
var ical_file = 'js/sample.ics';
new ical_parser(ical_file, function(cal){
//When ical parser has loaded file
//get future events
eventsParser = cal.getFutureEvents();
//console.log(events);
eventsParser.forEach(function(events){
events.push({
title: event.SUMMARY,
startTime: event.start_time,
endTime: event.end_time,
allDay: false
});
});
});
console.log(events);
return events;
}
});
答案 0 :(得分:2)
我认为以下行中有一个小错字:eventsParser.forEach(function(event){}
。您不能使用两个相同的命名参数。函数试图将元素推入参数内,而不是推入events
数组。
请尝试以下代码:
function LoadEvents() {
var events = [];
var eventsParser = [];
var ical_file = 'js/sample.ics';
new ical_parser(ical_file, function(cal) {
//When ical parser has loaded file
//get future events
eventsParser = cal.getFutureEvents();
//console.log(events);
eventsParser.forEach(function(event) {
events.push({
title: event.SUMMARY,
startTime: event.start_time,
endTime: event.end_time,
allDay: false
});
});
});
console.log(events);
return events;
}