【问题标题】:Pass more than 1 resultset to next mongoose.js promise chain将超过 1 个结果集传递给下一个 mongoose.js 承诺链
【发布时间】:2018-04-22 18:45:04
【问题描述】:

我正在使用 mongoose.js 承诺。我试图在我的链中找到 2 个结果并将这两个结果集传递给链中的下一个链接。 我想要发生的是来自 groups.find() 和 Users.find() 的结果作为参数传递给 processResultsets。在此示例中, groupList 返回正常。但是当我到达 processResultsets 时,我只有上一个链接中的用户。

var promise =  groups
        .find()
        .sort('groupname')
        .exec();

promise
    .then(getWidgetsForGroups)
    .then(processResultsets)
    .catch(errFN);


function getWidgetsForGroups(groupList)
{

        return Users
            .find()
            .sort('name')
            .lean()
}

function processResultsets(rs1,rs2)
{
    ...
}

function errFN(err)
{
  ...
}

【问题讨论】:

    标签: javascript node.js mongoose promise


    【解决方案1】:

    如果我以正确的方式理解您的问题:不可能得到多个结果。只需使用类似这样的代码:

    ...
        .then(function(){
                return your_result_1
            }).then(function(){
                return your_result_2
            })...
    

    【讨论】:

    • 是的,我就是这么做的。我只是好奇是否还有其他方法。谢谢你
    • 好的。我不知道另一种方式。我认为上面的解决方案无论如何都是最简单的方法。当然没问题:) @GerryBrady
    猜你喜欢
    • 2017-11-28
    • 2022-12-04
    • 2020-01-06
    • 1970-01-01
    • 2017-08-04
    • 2018-01-06
    • 2021-02-18
    • 1970-01-01
    • 2017-08-07
    相关资源
    最近更新 更多