我有一个这样的routes.js:
server.route({
method: 'GET',
path: '/marvel/universal/verify/{serial?}',
handler: function(request, h) {
let obj = { "test": "a" };
Db.find('marvel', obj, 1, function(result) {
});
return h.response(result);
}
});并使用用于节点的正式MongoDB包连接到MongoDB上的DB模块如下所示:
function find(collection, data, limit, callback) {
mongo.db.collection(collection).findOne(data, function(err, r) {
callback(r);
});
}显然,我无法从匿名函数callback返回结果,所以如何将结果传递给h.reponse(result)
发布于 2017-12-02 21:00:47
经过一些调试,HAPI允许您返回一个承诺,所以返回的结果在一个承诺是有效的!
server.route({
method: 'GET',
path: '/marvel/universal/verify/{serial?}',
handler: function(request, h) {
let obj = { "test": "a" };
return new Promise(function(resolve,reject){
Db.find('marvel', obj, 1, function(result) {
resolve(h.response(result));
});
});
}
});https://stackoverflow.com/questions/47612444
复制相似问题