如何用callback调用recursion函数?

当使用callback函数recursioncallback函数时,它会抛出一个错误,

错误:callback已被调用。 在/home/clsah/projects/LMS/node_modules/async/dist/async.js:837:32 ….

这是我的代码:

 function getEventList(oauth2Client, user, callback) { var calendar = google.calendar('v3'); calendar.events.list({ auth: oauth2Client, calendarId: 'primary', timeMin: (new Date()).toISOString(), maxResults: 50, singleEvents: true, orderBy: 'startTime' }, function(err, response) { if (err) { generateNewToken(oauth2Client, function(err, oauth2Client) { if (err) return callback(err) getEventList(oauth2Client, user, callback); //here is problem }) } else { var events = response.items || []; if (events.length == 0) { console.log('No upcoming events found.'); } else { for (var i = 0; i < events.length; i++) { events[i].userId = user._id; } } console.log('getEventList', events) callback(null, events); } }); }