Javascript 在node.js中创建新实例;需要未缓存的线程安全性

Javascript 在node.js中创建新实例;需要未缓存的线程安全性,javascript,node.js,design-patterns,thread-safety,Javascript,Node.js,Design Patterns,Thread Safety,我有一个系统,它将提供高吞吐量的HTTP请求,并且我正在尝试为每个请求加载一个带有新实例的自定义模块。我之所以要创建一个新实例,是因为模块中有一个对象,它在多个承诺链中的承诺之间共享。我想为这个模块的每个实例隔离对象。我意识到这在一些商店中可能被认为是一种反模式,但我喜欢拥有一个可以跨多个复杂承诺链使用的动态对象,因为它允许我的承诺以多种不同的方式重用。我喜欢承诺链如何组织我的代码,模式本身也很适合我的需要,但如果有其他选择,我想听听。以下是一个例子: var reusableObject;

我有一个系统,它将提供高吞吐量的HTTP请求,并且我正在尝试为每个请求加载一个带有新实例的自定义模块。我之所以要创建一个新实例,是因为模块中有一个对象,它在多个承诺链中的承诺之间共享。我想为这个模块的每个实例隔离对象。我意识到这在一些商店中可能被认为是一种反模式,但我喜欢拥有一个可以跨多个复杂承诺链使用的动态对象,因为它允许我的承诺以多种不同的方式重用。我喜欢承诺链如何组织我的代码,模式本身也很适合我的需要,但如果有其他选择,我想听听。以下是一个例子:

var reusableObject;

module.exports = function() {
    return {
        myFunction: function() {
            return somePromise()
            .then(anotherPromise)
            .then(yetAnotherPromise)
            .then(function() { return reusableObject; })
        }
}
我问题的第二部分是关于使用节点的本机模块加载器require实例化新模块。我尝试使用
var service=new(require('myModule'))()使用
new
操作符创建模块的新实例,但未成功。我最好的猜测是,在底层,节点的需求是从缓存中获取模块


我遇到了一个名为的模块,瞧,我成功地创建了我的模块的新实例。然而,当浏览时,我担心require uncached模块加载器不是线程安全的。我意识到是时候进行一些专家分析了。感谢您的帮助。tia

您是否确实安装、加载和配置了RequireJS??如果不是,您就没有使用RequireJS。(它是一个。通常用于客户端,而不是服务器端。可以在Node.js中使用它,但默认情况下不存在。)我的错误,我指的是节点的本机模块加载器,require()函数。我编辑了这篇文章来纠正这个问题。你真的安装、加载和配置了RequireJS吗??如果不是,您就没有使用RequireJS。(它是一个。通常用于客户端,而不是服务器端。可以在Node.js中使用它,但默认情况下不存在。)我的错误,我指的是节点的本机模块加载器,require()函数。我编辑了这篇文章来纠正这一点。