所以我在 Hapi.JS 处理程序中有以下代码,并试图调用 couchbase sdk。
handler: async (request, h) => {
var SpatialQuery = Couchbase.SpatialQuery;
var sw = JSON.parse(request.payload.sw);
var ne = JSON.parse(request.payload.ne);
var query = SpatialQuery.from('dev_spatialtest', 'spacetest').limit(100);
return await myBucketQuery(query);
}
它调用这个函数
async function myBucketQuery(query){
return bucket.query(query, async function(err, results){
console.log("in results = " + JSON.stringify(results));
return results;
});
};
myBucketQuery 中的 console.log 返回正确的结果,但是在 hapi 已经返回(或者可能没有???)之后返回正确的结果邮递员复出的结果为
{
"_events": {},
"_eventsCount": 2
}
谁能给我一个线索我在这里做错了什么?
使用以下修复
async function myBucketQuery(query){
return new Promise(resolve => {
var resolution = bucket.query(query, async function(err,results){
console.log("in results = " + JSON.stringify(results));
resolve(results);
});
return resolution;
});
};