我试图使用快速路由的async / await。但我仍有错误
SyntaxError:意外的标识符
我在StackOverflow或网络上尝试了很多东西,没有任何变化。
在这里,我做了什么,
function asyncWrap(fn) {
return (req, res, next) => {
fn(req, res, next).catch(next);
};
}
app.get('/user/:id', asyncWrap(async function(req, res) {
//some stuffs
try{
const hor = await horaire(results[0].id, 2018, null);
}catch(err){
return err;
}
}));
async function horaire(id, year, dateSpec){
return new Promise(function(resolve, reject) {
let h=0;
let days;
if(dateSpec == null){
days = moment(new Date().toISOString().slice(0,10)).diff("2018-01-01", "days");
}
else {
days = dateSpec;
}
let query =,
query2 =;
mysql.query(query, [id, year], function(error, result){
if(error) console.log(error);
else{
if(result[0].days.length < days) console.log("Error : not enought date");
else{
if((result[0].days.charAt(days))=='H'){
h = 1;
}
}
}
});
mysql.query(query2, [id, h], function(error, result){
if(error) {
return error;
}
else{
switch (new Date().getDay()) {
}
let array = [];
array.push(hours(result[0].one));
array.push(hours(result[0].two));
array.push(hours(result[0].three));
array.push(hours(result[0].four));
array.push(hours(result[0].five));
array.push(hours(result[0].six));
array.push(hours(result[0].seven));
arr = {day: day, horai: array};
return arr;
}
});
});
return arr;
}
我错过了什么?
我使用Express 4.16.2和Node.js 8.9.4
答案 0 :(得分:0)
你在这个函数中输错了
app.get('/user/:id, asyncWrap(async function(req, res) {
//some stuffs
try{
const hor = await horaire(results[0].id, 2018, null);
}catch(err){
return err;
}
}));
结帐失踪的&#39;
app.get('/user/:id',