Node.js 猫鼬等待拯救
在我的Nodejs项目中,我只想在继续编写代码之前等待mongoose.save函数。下面的例子不起作用,但是有人能帮我做些有用的事情吗Node.js 猫鼬等待拯救,node.js,asynchronous,mongoose,promise,async-await,Node.js,Asynchronous,Mongoose,Promise,Async Await,在我的Nodejs项目中,我只想在继续编写代码之前等待mongoose.save函数。下面的例子不起作用,但是有人能帮我做些有用的事情吗 app.post('/api/CreateUser', async (req, res) => { const newUser = new User({ 'email': req.body.email, 'name': req.body.name }); console.log('before sa
app.post('/api/CreateUser', async (req, res) => {
const newUser = new User({
'email': req.body.email,
'name': req.body.name
});
console.log('before save');
await newUser.save((err, userDoc) => {
if (err) return res.status(400).send(err);
console.log('saved item');
});
console.log('after save');
});
当前的console.log顺序为:
请使用
try
和catch
更改代码
另外,请检查如何使用wait
try {
const newUser = new User({
'email': req.body.email,
'name': req.body.name
});
console.log('before save');
let saveUser = await newUser.save(); //when fail its goes to catch
console.log(saveUser); //when success it print.
console.log('after save');
} catch (err) {
console.log('err' + err);
res.status(500).send(err);
}
伙计,谢谢你!我已经和这些东西斗争了一段时间了。从来没有真正使用过try/catch的东西