我编写了一个使用 Mongoose 从 mongoDB 读取项目的函数,我希望将结果返回给调用者:
ecommerceSchema.methods.GetItemBySku = function (req, res) {
var InventoryItemModel = EntityCache.InventoryItem;
var myItem;
InventoryItemModel.findOne({'Sku' : req.query.sku}, function (err, item) {
// the result is in item
myItem = item;
//return item doesn't work here!!!!
});
//the value of "myItem" is undefined because nodejs's non-blocking feature
return myItem;
};
但是如您所见,结果仅在“findOne”的回调函数中有效。我只需要将“item”的值返回给调用者函数,而不是在回调函数中进行任何处理。有没有办法做到这一点?
非常感谢你!