我在nodejs路由中遇到了cloudinary api的问题。下面是我的路线,然后是我得到的一般错误。我已经用Google搜索并阅读并询问,现在它的Stack Overflows已经转过来了。
目前正在运行节点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
答案 0 :(得分:0)
是的,因为帕特里克先生说检查节点版本。你可以使用这样的简单结构(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
}
})