Node.js 如何用回调函数调用递归函数?
当使用Node.js 如何用回调函数调用递归函数?,node.js,recursion,Node.js,Recursion,当使用callback函数递归调用函数时,它会抛出一个错误,即 错误:已调用回调。 at/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({
callback
函数递归调用函数时,它会抛出一个错误,即
错误:已调用回调。
at/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);
}
});
}
函数getEventList(oauth2Client、用户、回调){
var calendar=google.calendar('v3');
calendar.events.list({
作者:oauth2Client,
calendarId:'主',
timeMin:(新日期()).toISOString(),
最大结果:50,
单身事件:对,
订购人:“startTime”
},函数(错误,响应){
如果(错误){
generateNewToken(oauth2Client,函数(err,oauth2Client){
如果(错误)
返回回调(err)
getEventList(oauth2Client、用户、回调);//问题出在这里
})
}否则{
var events=response.items | |[];
如果(events.length==0){
log('未找到即将发生的事件');
}否则{
对于(var i=0;i