异步等待Express:意外标识符

时间:2018-02-26 13:28:06

标签: javascript node.js express async-await

我试图使用快速路由的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

1 个答案:

答案 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',