Предполагая, что .save
не принимает параметр и возвращает обещание, код должен выглядеть следующим образом
Script.findById(scriptId)
.then(script => {
if (script) {
const scriptId = script._id.toString();
const demoUrl = `${scriptId}.mydomain.com`;
if (true) {
script.approved = true;
script.demoUrl = demoUrl;
script.save()
.then(response => {
console.log(response); // this logs a null value
res.json({
"message": "Script approved.",
"demoUrl": demoUrl
});
})
.catch(error => { // throws me the error "Cannot read property 'catch' of undefined"
next(error);
});
}
}
});
После сохранения сохранить ответ, а затем выполнить перехват.