将值推送到数组Node JS



我需要显示用户日历中的所有事件。我得到所有日历的列表,然后遍历每个获取事件并尝试将它们存储在数组中。

app.get('/getEventsList/', function (req, res) {
newArray = [];
function Done(){
console.log(newArray);
}
function getEventsforOneCalendar(token,calid){
gcal(token).events.list(calid, function(err, eventsList) {
            newArray.push(eventsList);
             });
}
function getEventsList(token) {
    gcal(token).calendarList.list(function (err, calendarList) {
        if (err) {
     //handle error
        } else {
            calendars = calendarList.items;
            forEach(calendars, function (item, index) {
           getEventsforOneCalendar(token,item.id); 
        }, Done);
        }
    });
}
getEventsList('xxxxxxxxxxxtoken');

});

问题是:那条线 newArray.push(eventsList);

在此行中传递的任何值(甚至是静态传递的值)都不像 newArray.push('test');并且不会抛出任何错误。如果我记录它,我会在控制台中看到它,但它从未添加到数组中。

可能出了什么问题?

我最简单的方法可以是这样的。这一切都取决于你想如何展示它。

app.get('/getEventsList/', function (req, res) {
var newArray = [];
var total;
function display() {
   console.log(newArray);
}
function getEventsforOneCalendar(token,calid){
gcal(token).events.list(calid, function(err, eventsList) {
                newArray.push(eventsList);
                if (total == newArray.length)
                   display();
             });
}
function getEventsList(token) {
    gcal(token).calendarList.list(function (err, calendarList) {
        if (err) {
     //handle error
        } else {
            calendars = calendarList.items;
            total = calendars.length
            forEach(calendars, function (item, index) {
                getEventsforOneCalendar(token,item.id); 
            }, Done);
        }
    });
}
getEventsList('xxxxxxxxxxxtoken');
});

相关内容

  • 没有找到相关文章

最新更新