我在 node.js ES6 中使用 await async ...
async insertIngot(body, callback) {
console.log('*** ItemsRepository.insertIngot');
console.log(body);
const data = await this.getItemsTest();
console.log('*** getItems ok');
items = data.items;
let item = new Ingot();
item.ingotName = body.ingotName;
item.formulaName = body.formulaName;
item.items = items;
await item.save();
return item;
}
第一个 await 工作,然后它跳过其余代码并抛出错误:
(node:16612) DeprecationWarning: Mongoose: mpromise(mongoose 的默认 promise 库)已弃用,改为插入您自己的 promise 库:http://mongoosejs.com/docs/promises.html
最佳答案
在 mongoose 中,您需要定义要使用的 promise 类型。您正在使用内置的 es6 promises,所以要告诉 mongoose,您需要这样做:
mongoose.Promise = global.Promise;
这是文档:http://mongoosejs.com/docs/promises.html#plugging-in-your-own-promises-library
关于javascript - async await node.js 跳过第二个 await 语句保存 mongodb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47457467/