gpt4 book ai didi

javascript - 命名 JavaScript 类但保留相同的 'this'

转载 作者:行者123 更新时间:2023-12-03 08:18:25 25 4
gpt4 key购买 nike

我正在构建一个相当大的node.js客户端库,我希望能够对其部分进行“命名空间”以使其更有组织性。例如:

var client = new Client(config);

client.activities.get(activityId, function(activity) {
...
});

...

client.user.get(userId, function(user) {
...
});

我目前正在尝试在模块中执行类似的操作:

function Client(config) {
this.config = config;
}

Client.prototype.activities = require('./activities');
Client.prototype.user = require('./user');

module.exports = Client;

但是当在事件“子模块”中调用“get”时,“this”当然是针对模块的,而不是外部客户端函数。基本上,两个子模块都需要访问外部配置信息(本例中为“config”)。在 Node.js 中执行此操作的最佳实践是什么?

最佳答案

我认为您的计划的建模问题是 new X()X.prototype 的每个属性引用复制到新项目;例如,X.myFunctionX.prototype.myFunction 的引用完全相同;但不会创建 myFunction 的新副本

听起来如果 activities 是客户端的一部分(与 StreetAddress 可能是相同的方式),您实际上希望 activities 成为一个类,而不是一个模块,并且让Client在构造它时创建它的一个实例。这并不是 prototype 真正有用的地方。如果我错了,也许您可​​以展示一个activities 用于的基本操作示例。

关于javascript - 命名 JavaScript 类但保留相同的 'this',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33834508/

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