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的函数是回调,这意味着它将在以后被调用。此函数不是异步的。