Маршруты Node.js и асинхронная функция - PullRequest
0 голосов
/ 03 июня 2018

У меня возникли проблемы с облачным API на маршруте nodejs.ниже мой маршрут, сопровождаемый общей ошибкой, которую я получаю.Я гуглил, прочитал и спросил, теперь его очередь переполнения стека.

Текущий запущенный узел 10.3

 router.put("/snake/:id", upload.single('image'), function(req, res){
    Snake.findByIdAndUpdate(req.params.id, async function(err, updatedSnake){
        if (err){
            res.render("error");
        }else{
            if(req.file){
                try{
                await cloudinary.v2.uploader.destroy(updatedSnake.imageId);
                var result = await cloudinary.v2.uploader.upload(req.file.path);
         req.body.image = result.secure_url;
        req.body.imageId = result.public_id;                  

                } catch (err){
                    return res.redirect('error');
                }
            }
            updatedSnake.save();
        }
    });
});

и ошибка

Snake.findByIdAndUpdate(req.params.id, async function(err, updatedSnake)
                                       ^^^^^
SyntaxError: missing ) after argument list

1 Ответ

0 голосов
/ 03 июня 2018

Да, как сказал мистер Патрик, проверьте версию узла.Вы могли бы пойти с простой структурой (ES6), как это все же.

router.put('path', multer, async(req, res) =>{


     try() {

     await Snake.findByIdAndUpdate(req.params.i) 

  let updatedSnake =await Snake.findOne({id:req.params.id})
//do upload

    } 
     catch(err) {
//handle errors
     } 

 })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...