我试图在另一个异步函数中嵌入一个异步函数。为什么会出现错误以及如何解决?
这是我的设置:
helper.js
const express = require('express');
async function loginRoute (req, res) => {
...
}
module.exports = {
login: async (req, res, next) => {
try {
async loginRoute(req, res);
} catch (err) {
res.status(500).end();
}
next();
}
}
控制台错误:
async function loginRoute (req, res) => {
^^
SyntaxError: Unexpected token =>
at ...
at ..
还是没有必要做两次?
答案 0 :(得分:2)
尝试使用以下语法:
const loginRoute = async (req, res) => {
// do something
}
然后
await loginRoute(req, res)
答案 1 :(得分:1)
使用两者之一,就不能将箭头函数与函数声明结合起来
async function loginRoute(req, res)
{
//function declaration
}
或
let loginRoute = async (req, res) =>
{
... //function expression with arrow syntax
}
答案 2 :(得分:1)
要使用箭头功能,请编写如下代码
const loginRoute = async (req, res) => {
...
};
答案 3 :(得分:0)
您不能这样定义。做
async function loginRoute (req, res) {
...
}
或
const loginRoute = async (req, res) => {}
调用函数时,请执行await loginRoute(req, res);