Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 异步函数返回未定义_Javascript_Node.js_Async Await_Promise - Fatal编程技术网

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
不会返回一个承诺,即如果通过回调,您可以
等待