猫鼬查询总是返回未定义

时间:2019-01-01 18:33:53

标签: javascript node.js mongoose callback

我正在尝试使用findOne获取一个数组并将其传递给另一个函数。我可以通过控制台记录阵列,但是在findOne函数之外无法访问。

function getOutfits(id, callback) {
    Outfit.findOne({ _id: id }, function (err, userObj) {
        if (err) {
            return callback(err);
        } else if (userObj) {
            return callback(null, userObj);
        } else {
            return callback();
        }
    });
}

var query = getOutfits(req.user.id, function (error, outfitList) {
    var outfitArray = [];
    for (i of outfitList.outfits) {
        var obj = i.items;
        outfitArray.push(obj);
    };
    console.log(outfitArray);
    // Logs [ ["5c25108207c4dd627126a1a5","5c25109c07c4dd627126a1a6"], ["5c25108207c4dd627126a1a5"] ]
    return outfitArray;
});

console.log(query)
// Logs undefined

console.log(query)始终返回undefined,即使我返回的是outfitArray

我是JavaScript的新手,正在努力回避回调。我非常感谢您的解释。

0 个答案:

没有答案