循环内导入模块是一个坏习惯吗?

viniciussvl

我有一个javascript模块,并将其导入到主代码/主代码的开头,并在其中执行forEach,在此主代码中,有一个循环调用该模块的方法:

results.forEach(function(result) {
     for(const item of items .......){
        exampleModule.metodo(result, item)
     }
});

到目前为止,很好的问题是,模块的值正在混合,模块根据结果X的项Y不是动态的,有点“干扰”了一切...

我想到了一种解决方法,不知道这是否是最佳实践,在对象内声明const exampleModule = require('./modules/example.js')并为该对象提供引用,例如项目ID ,因为每个ID都是唯一的:

let objetos = {}
results.forEach(function(result) {
     for(const item of items .......){
        objetos[item.id] = require('./modules/example.js')
        objetos[item.id].metodo(result, item)
     }
});

简而言之,我希望每个循环项都创建一个模块实例,而不会受到干扰,如果我在位置0的项目中实例化模块,则模块中的所有内容都只能由该项目0使用,如果它是item 1同样,1 n可以更改位置0使用的模块的值,依此类推,这可能吗?有人可以帮帮我吗?

骑自行车

Node.js缓存导入的模块。因此,将它们循环需要没有副作用。缓存在docs中进行了说明

是的,将模块导入代码深处并不是最佳实践,因为它被认为不易读。您可以随时执行以下操作:

let objetos = {}
const exampleModule = require('./modules/example.js');
results.forEach(function(result) {
     for(const item of items .......){
        objetos[item.id] = Object.assign({}, exampleModule);
        objetos[item.id].metodo(result, item)
     }
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

赶上Throwable是一个坏习惯吗?

标记助手-自动关闭HTML标记是一个坏习惯吗?

避开基类构造函数初始化,这是一个坏习惯吗?

过度依赖预处理器是一个坏习惯吗?

经常注入服务容器是一个坏习惯

为什么使用android:configChanges是一个坏习惯

在数据库设计中具有循环关系是否总是一个坏习惯

空旗是个坏习惯吗?

模块导入形成一个循环

为什么从模块导入*中使用坏习惯?

Python - 我需要一个可以永远运行的连续循环,我知道它的坏习惯,但使用 while True 是否合适?

为什么在函数块中定义枚举可能是一个坏习惯?

从远程分支合并是个坏习惯吗?

将模块添加为另一个模块的依赖关系是一个好习惯吗?

如何阻止 IntelliJ 将我的 ">=" 运算符更改为此。因为我认为这是一个坏习惯

回调和主游戏循环。这是一个好习惯吗?

在组件B内使用组件A是一个好习惯吗?

导出模块时。我们应该将值赋给const变量吗?这是一个好习惯吗?

我们可以在另一个 wasm 模块中导入一个 wasm 模块吗?

循环内导入模块

我应该用一个结尾吗?循环内?

传递Ninject内核是一个好习惯吗?

Spring在方法上的@Profile是一个好习惯吗

每层集成测试是一个好习惯吗?

使用`import __main__`是一个好习惯吗?

链接libstdc ++ static是一个好习惯吗?

这是一个好习惯吗?“ / * /某物/ * /某物// * /”

缓存Fragment是一个好习惯吗?

经常使用$ scope。$ apply()是一个好习惯吗?