Node.js nodejs异步函数返回未定义

Node.js nodejs异步函数返回未定义,node.js,express,Node.js,Express,我不熟悉nodejs和异步结构。我想调用FacebookGraphAPI,并为此调用创建了一个函数,我想返回响应 所以我的函数是这样的: exports.getME = async (access_token) => { axios({ method: 'get', url: 'https://graph.facebook.com/v10.0/me', params: { access_token : acces

我不熟悉nodejs和异步结构。我想调用FacebookGraphAPI,并为此调用创建了一个函数,我想返回响应

所以我的函数是这样的:

exports.getME = async (access_token) => {

    axios({
        method: 'get',
        url: 'https://graph.facebook.com/v10.0/me',
        params: {
          access_token : access_token
        }
      }).then(result => {       
          return (result)
        })
      .catch(err => {
          console.log(err)
          return err
        })
}
const CommonAPICalls = require('./commonAPIcalls')

router.post('/', async (req,res,next)=>{
    CommonAPICalls.getME(req.body.access_token).then(response => console.log(response))
    .catch(err => console.log(err))
});
我这样称呼这个函数:

exports.getME = async (access_token) => {

    axios({
        method: 'get',
        url: 'https://graph.facebook.com/v10.0/me',
        params: {
          access_token : access_token
        }
      }).then(result => {       
          return (result)
        })
      .catch(err => {
          console.log(err)
          return err
        })
}
const CommonAPICalls = require('./commonAPIcalls')

router.post('/', async (req,res,next)=>{
    CommonAPICalls.getME(req.body.access_token).then(response => console.log(response))
    .catch(err => console.log(err))
});

我试图解决这个问题,但我做不到。我如何做到这一点?

如果函数不等待任何东西,那么使其异步是毫无意义的。我还建议不要在同一个函数中混合使用async/await和.then。基本上,您不会从函数返回承诺链(或任何其他内容)。请尝试在
axios({…