Javascript 快车不允许等候吗?

Javascript 快车不允许等候吗?,javascript,node.js,express,ecmascript-6,Javascript,Node.js,Express,Ecmascript 6,有人能解释我为什么会这样吗 SyntaxError: await is only valid in async function 从下面开始,当我在async函数中使用wait时 (async function(){ 'use strict'; const express = require("express"); const bodyParser = require("body-parser"); const app = expres

有人能解释我为什么会这样吗

SyntaxError: await is only valid in async function
从下面开始,当我在
async
函数中使用
wait

(async function(){
  'use strict';

  const express = require("express");
  const bodyParser = require("body-parser");
  const app = express();
  app.use(bodyParser.json());

  app.post("/", (req, res) => {
    await console.log('a');
    res.status(200).end();
  });

  app.listen(config.webhook_port, () => console.log("Listening"));
})();
上面是webhook侦听器的简化版本,它可以同时获得多个webhook。因此,在代码中使用
console.log()
只是为了模拟将被调用的函数。因此,在
app.post()
中,将有逻辑来决定如何处理每个收到的webhook


我想使用wait的原因是我可以检查函数的返回值。

删除外部异步,然后写入:

app.post("/", async (req, res) => {
    await console.log('a');
    res.status(200).end();
  });

async(req,res)=>{
?express是一个javascript库。它不能更改语言语法。这是不可能的。您正在本地箭头函数中使用
wait
,它不是异步的。传递给app.post的函数是回调,这意味着它将在以后被调用。此函数不是异步的。