【发布时间】:2020-06-03 23:13:48
【问题描述】:
我正在尝试将 Mongoose Promise 与 Node.js 的 async/await 功能结合使用。 但是我对第二个“查找”功能有问题,因为它与第一个功能相关联,我认为是因为我没有第一个查找结果。 如何等待第一个函数的响应,然后执行第二个?
exports.permissions_Check2 = async function(params){
const Sessioni = require('../models/Sessioni');
const Permessi = require('../models/Permessi');
const express = require ('express');
var token= params['Token'];
var tabelle = params['Tabelle'];
var DataSession= [];
var out;
try{
const sessioni = await Sessioni.findOne({token: token}).exec();
const permessi = await Permessi.findOne({IDGruppo: sessioni.IDGruppo}).exec();
out={
IDAccesso: sessioni._id,
IDUser: sessioni.IDUser,
IDGruppo:sessioni.IDGruppo,
Permessi: permessi
}
return out;
} catch (err){
return err;
}
return out;
}
输出: { IDAccesso: "ehwuhf7867tgyb", ID用户:1, IDGruppo:1, 佩尔梅西:空}
【问题讨论】:
-
您的功能运行良好。它已按预期设置为 null。如果 permesi 函数不等待响应或 Promise 对象,则它应该返回未定义的内容。
标签: node.js express asynchronous mongoose