async await node.js 跳过第二个 await 语句 save mongodb

async await node.js skips the second await statement save mongodb

我在 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 中,您需要定义要使用的承诺类型。您正在使用内置的 es6 承诺,所以要告诉猫鼬,您需要这样做:

mongoose.Promise = global.Promise;

这是文档:http://mongoosejs.com/docs/promises.html#plugging-in-your-own-promises-library