gpt4 book ai didi

javascript - 从原型(prototype)访问对象属性

转载 作者:行者123 更新时间:2023-11-30 18:28:01 25 4
gpt4 key购买 nike

我有一个为 node.js 包装 mongodb 客户端的类。下面的类,当我调用 findUsers 时,我得到 this.collection 是未定义的。

如何从原型(prototype)访问 this.collection

谢谢!

类:

var Users;

Users = (function () {

function Users(db) {

db.collection('users', function (err, collection) {
this.collection = collection;
});
}

Users.prototype.findUsers = function (callback) {

this.collection.find({}, function (err, results) {

});
}

return Users;

})();

用法:

//db holds the db object already created
var user = new Users(db);
user.findUsers();

最佳答案

你在原型(prototype)方法中做对了,你的错误在db.collection()的回调函数中。

var Users = (function () {
function Users(db) {
var that = this; // create a reference to "this" object
db.collection('users', function (err, collection) {
that.collection = collection; // and use that
});
}
Users.prototype.findUsers = function (callback) {
this.collection.find({}, function (err, results) {

});
}
return Users;
})();

关于javascript - 从原型(prototype)访问对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10321641/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com