node.js - 包裹沙发底座访问功能

标签 node.js couchbase

下面是我的 couchbase Nodejs 代码

kdatabase.js

 var couchbase = require('couchbase');
 var db = new couchbase.Connection({
         host: "http://127.0.0.1:8091",
         bucket: "default",
     },
     function(err) {
         if (err) throw err;

         db.get('id1', function(err, result) {

             if (err) throw err;
             console.log(result.value);
             process.exit(0);

         });

     });

有效

但我希望将其包装成易于操作的对象

module.exports = function(app) {
    return new KDatabase(app);
};
var KDatabase = function(app) {
    this.app = app;
};
//couchbase
KDatabase.prototype.query = function(userName) {

    var couchbase = require('couchbase');
    var db = new couchbase.Connection({
            host: "http://127.0.0.1:8091",
            bucket: "default",
        },
        function(err) {
            if (err) throw err;
            console.log(userName + '!!!!--');
            db.get(userName, function(err, result) {
                if (err) throw err;
                var o = result.value;
                console.log(o['password'] + '***--');
                return o['password'];
            });
        });
};

然后我打电话

var db = require('kdatabase.js')();
var s = db.query(msg.username, function(err) {

        if (err) {

            console.log('aaa');
        }
        console.log('bbb');
        return;
    });

线条

console.log(userName + '!!!!--');

console.log(o['password'] + '***--');

正确显示

但是

console.log('aaa');

console.log('bbb');

从未被执行

最佳答案

您的 query 方法不接受回调参数,因此您永远不会调用它。

KDatabase.prototype.query = function(userName, cb) {
    /* snip */
    console.log(o['password'] + '***--');
    cb(err, result);

关于node.js - 包裹沙发底座访问功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25165965/

相关文章:

node.js - 使用 Node.js、集群和 Socket.IO 的 HTML5 Canvas

javascript - 在循环( Node )中使用 Promise

visual-studio - Docker AspNet Core + Couchbase

database - Couchbase 的查询分析器

java - 使用 REST API 进行 Couch 基础配置

沙发底座一致性

angularjs - 元素数组无法正常工作

node.js - Node JS & Socket.io 建议 - 通过路由还是通过套接字将信息发布到数据库更好?

javascript - javascript中的链式 promise

kubernetes - 如何追踪谁删除了 Kubernetes PVC、部署和 POD