【问题标题】:NodeJS, get return value from async awaitNodeJS,从异步等待中获取返回值
【发布时间】:2018-06-30 17:24:13
【问题描述】:

我有一个使用猫鼬的异步等待函数:

const createModelB = async (id) => {
    try {
        let user = await User.findOne({id: id});

        if (user) {
            let modelB = new ModelB({ user_id: user.id });
            modelB = await scrum.save();
            return modelB;
        }
        return null;
    } catch (err) {
        console.error(err);
    }

    return null;
};

现在我从其他地方调用这个函数:

let modelB = createModelB(123);
console.log(modelB);

控制台没有输出模型字段,而是返回给我:

Promise {<pending>}

我错过了什么?

【问题讨论】:

    标签: node.js asynchronous mongoose async-await


    【解决方案1】:

    我认为会是

    const createModelBInstance = async () => {
     let modelB = await createModelB(123);
     console.log(modelB);
    }
    
    createModelBInstance();
    

    只要异步函数返回值,您就必须对它们调用等待,并且应该包装在另一个异步函数中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-13
      • 2016-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多