我使用异步 async-await 函数来处理请求,在这些函数内部有处理错误的回调。
我的问题是,当我想在控制台中注册结果时,它是未定义的。
有能力的回调调用不返回值,下面是我的代码:
//dep
const { google } = require('googleapis');
const { auth } = require('google-auth-library')
const accountService = require('file json account service');
//dates
let eventStartTime = new Date();
let eventEndTime = new Date();
eventEndTime.setDate(eventEndTime.getDate() + 6);
eventEndTime.setMinutes(eventEndTime.getMinutes() + 45);
//authentication
const getAuth = async () => {
let client = auth.fromJSON(accountService);
client.scopes = ['https://www.googleapis.com/auth/calendar', 'https://www.googleapis.com/auth/calendar.events'];;
return client
}
//list of events
const listEvents = async (auth) => {
const calendar = google.calendar({version: 'v3', auth});
const lista = await calendar.events.list(
{
calendarId: '',
timeMin: eventStartTime,
timeMax: eventEndTime,
maxResults: 999,
singleEvents: true,
orderBy: 'startTime',
timeZone: ''
}, (err, res) => {
if(err){
//Error
console.log(err)
} else {
//Complete
return res.data
}
}
)
//return lista
}
const initEvents = async () => {
const auth = await getAuth()
const res = await listEvents(auth)
console.log(res) // prints undefined!
}
initEvents()
我想传递数据以便能够在异步外部或内部打印它们