如何returnNode.js回调
How to return Node.js callback
我有一个 node.js 方法,它使用 mongoose 来 return 一些数据,问题是因为我在我的方法中使用了回调,所以什么都没有 return发给客户
我的代码是:
var getApps = function(searchParam){
var appsInCategory = Model.find({ categories: searchParam});
appsInCategory.exec(function (err, apps) {
return apps;
});
}
如果我试图通过使用 json 对象同步执行它,它将起作用:
var getApps = function(searchParam){
var appsInCategory = JSONOBJECT;
return appsInCategory
}
我能做什么?
您不能从回调中 return - 请参阅 this canonical about the fundamental problem。由于您使用的是 Mongoose,因此您可以 return 对此做出承诺:
var getApps = function(searchParam){
var appsInCategory = Model.find({ categories: searchParam});
return appsInCategory.exec().then(function (apps) {
return apps; // can drop the `then` here
});
}
哪个会让你做:
getApps().then(function(result){
// handle result here
});
我有一个 node.js 方法,它使用 mongoose 来 return 一些数据,问题是因为我在我的方法中使用了回调,所以什么都没有 return发给客户
我的代码是:
var getApps = function(searchParam){
var appsInCategory = Model.find({ categories: searchParam});
appsInCategory.exec(function (err, apps) {
return apps;
});
}
如果我试图通过使用 json 对象同步执行它,它将起作用:
var getApps = function(searchParam){
var appsInCategory = JSONOBJECT;
return appsInCategory
}
我能做什么?
您不能从回调中 return - 请参阅 this canonical about the fundamental problem。由于您使用的是 Mongoose,因此您可以 return 对此做出承诺:
var getApps = function(searchParam){
var appsInCategory = Model.find({ categories: searchParam});
return appsInCategory.exec().then(function (apps) {
return apps; // can drop the `then` here
});
}
哪个会让你做:
getApps().then(function(result){
// handle result here
});