Javascript mongoose中的同步和异步vs回调
嗨,伙计们,我是node的新手,我有一个简单的问题,这两个sniped的区别是什么 注意:我知道异步/等待功能,在前端应用程序中,这是处理异步操作的最佳实践,但在使用mongoose的节点中,我想知道哪种方法更适合处理 第一个解决方案 第二种解决方案 我想知道当我有猫鼬的错误时,第二种方法可以抛出这样的错误Javascript mongoose中的同步和异步vs回调,javascript,node.js,mongodb,asynchronous,mongoose,Javascript,Node.js,Mongodb,Asynchronous,Mongoose,嗨,伙计们,我是node的新手,我有一个简单的问题,这两个sniped的区别是什么 注意:我知道异步/等待功能,在前端应用程序中,这是处理异步操作的最佳实践,但在使用mongoose的节点中,我想知道哪种方法更适合处理 第一个解决方案 第二种解决方案 我想知道当我有猫鼬的错误时,第二种方法可以抛出这样的错误 // in callback function if (err) { throw Error(); } 但是在async/await解决方案中如何处理这个问题呢您只需将它抛出或记
// in callback function
if (err) {
throw Error();
}
但是在
async/await
解决方案中如何处理这个问题呢您只需将它抛出或记录到catch块中:try {
const data = await Model.find();
const some = await new Model(data).save();
} catch(e) {
throw e;
next(e);
}
async/await像promises一样工作,但没有嵌套回调,它会抛出一个与第一个错误同步的错误,并停止执行其他行
根据您编辑的注释:在nodejs中,您应该始终使用异步解决方案,甚至对于任何与javascript相关的内容,它都是最好的可组合和可重用的解决方案
// in callback function
if (err) {
throw Error();
}
try {
const data = await Model.find();
const some = await new Model(data).save();
} catch(e) {
throw e;
next(e);
}