1

所以我在 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;
    });
};
4

0 回答 0