包装couchbase acccessfunction
下面是我的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
方法不需要一个callback参数,所以你永远不会调用它。
KDatabase.prototype.query = function(userName, cb) { /* snip */ console.log(o['password'] + '***--'); cb(err, result);