Javascript 异步函数返回未定义
我使用异步等待函数来处理请求,在这些函数中有回调来处理错误 我的问题是,当我想在控制台中注册结果时,它是未定义的 有能力的回调调用不会返回值,下面是我的代码:Javascript 异步函数返回未定义,javascript,node.js,async-await,promise,Javascript,Node.js,Async Await,Promise,我使用异步等待函数来处理请求,在这些函数中有回调来处理错误 我的问题是,当我想在控制台中注册结果时,它是未定义的 有能力的回调调用不会返回值,下面是我的代码: //dep const { google } = require('googleapis'); const { auth } = require('google-auth-library') const accountService = require('file json account service'); //dates let
//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()
我想传递数据,以便能够在异步的外部或内部打印它们
lista
是未定义的
,因为calendar.events.list
不会返回一个承诺,即如果通过回调,您可以等待
。