Асинхронная синхронизация «SyntaxError: неожиданный идентификатор» ожидает, когда я пытаюсь развернуть его в облаке aws на nodejs v8.11.4 - PullRequest
0 голосов
/ 12 сентября 2018

я пытаюсь развернуть свой проект с асинхронным ожиданием aws, на самом деле он работает локально, но когда я запускаю его, используя npm, я получаю ошибку

    async getStock(req, res) {
      ^^^^^^^^

SyntaxError: Unexpected identifier
at createScript (vm.js:56:10)
at Object.runInThisContext (vm.js:97:10)
at Module._compile (module.js:542:28)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (rcenter.id/task/routes/stock.js:3:22)
error: Forever detected script exited with code: 1

вот мой stock.js

module.exports = {

async getStock(req, res) {

    try {
        let body = req.body;
        let limit = parseInt(req.body.limit);
        let offset = 0;

        let stocks = await Stock.findAndCountAll({});

        let page = req.body.page;

        let pages = Math.ceil(stocks.count / limit)
        offset = limit * (page - 1)


        let stock = await Stock.findAll({
            limit: limit,
            offset: offset,

        });

         //count json data per page
         let key, count = 0;
         for (key in stock) {
             if (stock.hasOwnProperty(key)) {
                 count++;
             }
         }
         console.log(count)
        res.send({ "http_code": 200, "status": "success", "code": "SSR001", "message": "get data success", "data": stock,"current_page": page,  "total_pages": pages,"maximum_record":limit, "total_records":count })

    } catch (err) {
        console.log(err);
        return res.status(500).json({"http_code": 500, "status": "failed", "code": "SON004","message":"data not found" })
    }
}

 }

что-то не так с моим stock.js ??

примечание: я использую node-v8.11.4, также я всегда использую npm для запуска скрипта

Ответы [ 2 ]

0 голосов
/ 24 сентября 2018

Я не знаю, есть ли у кого-то еще эта проблема, но по какой-то причине выпадающее меню в AWS Lambda вернулось к 6.1 *, и я никогда не замечал. Исправление до 8. ** исправил мою проблему.

0 голосов
/ 12 сентября 2018

Синтаксис вашего модуля неправильный.Вы поместили функцию внутри объекта module.exports, но не присвоили функцию свойству.

Ваш код должен иметь следующую структуру:

module.exports = {
    getStock: async function getStock() {...}
};
...