var count = 1;
// psuedocode
// if (words typed begins with @add)
require('./add.js');
// if (words typed begins with @remove)
require('./remove.js');
// if (words typed begins with @total)
require('./total.js');
module.exports.count = count;
var count = require('./main.js').count;
console.log(count);
var count = require('./main.js').count;
count += 10;
console.log(count);
var count = require('./main.js').count;
count -= 10;
console.log(count);
1
11
-9
我有一个应用程序(irc bot),我想添加一个功能,使偷看者可以执行@add
1或@remove1。我有一个main.js,然后根据所说的触发器需要不同的文件。因此,add将触发add.js文件,然后将需要require(’main.js’)并添加10(为简化起见,为10,它将解析该数字并使用该数字)。我遇到的问题是有人去做@remove。它需要(’main.js’)并从1中减去10,得出-9。然后@total会输出1。
我已经对module.exports进行了相当不错的搜索,但没有遇到上面列出的示例。
文档中没有包含任何与我想要做的事情相似的示例;而这些问题1,2我的理解-但任何用处我不是-我明白是怎么被说有。
我想让@add和@remove都操作相同的变量(count),并让@total返回考虑到@add和@removes的总数。我是否使用了module.exports错误?还是有一种共享变量的通用方法,其中一个文件能够修改module.exports的内容并将结果返回给main.js文件?
您的问题是,当您这样做时var count = require('./main.js').count;
,会得到该编号的副本,而不是参考编号。更改count
不会更改“源”。
但是,您应该具有文件导出功能。要求文件只会在第一次运行,但是之后将被缓存并且不会重新运行。查看文件
建议1:
// main.js
var count = 1;
var add = require('./add.js');
count = add(count);
// add.js
module.exports = function add(count) {
return count+10;
}
#2:
var count = 1;
var add = function() {
count += 10;
}
add();
#3:我个人会创建一个计数器模块(这是一个实例,但是您可以轻松地使其成为“类”):
// main.js
var counter = require('./counter.js');
counter.add();
console.log(counter.count);
// counter.js
var Counter = module.exports = {
count: 1,
add: function() {
Counter.count += 10;
},
remove: function() {
Counter.count += 10;
}
}
背景:我正在并行运行自动化测试。使用pom.xml中的分叉,多个浏览器在相同数量的线程中启动,即1个浏览器是1个线程。 中的下面插件创建了与线程(fork)计数相等数量的。 所有这些类都同时并行执行。因此,似乎每当我创建或时,每个线程都会创建自己的这些,因此跨多个线程共享变量的概念是不起作用的。 我只想让一个线程访问“准备测试数据”函数,并将<code>标志 我正在按照教程https://www.
问题内容: 我想像这样在多个线程之间共享一个变量: 我想在主线程和帮助线程之间共享,这是我创建的两个不同的Java类。有什么办法吗?谢谢! 问题答案: 二者并可以参照包含该变量的类。 然后,可以使该变量为 volatile ,这意味着 对该变量的更改在两个线程中立即可见。 有关更多信息,请参见本文。 易变变量 共享已同步的可见性功能,但不共享原子性功能。这意味着线程将自动 查看volatile变量
null 在列出的3个选项中,只有最后一个可以使用projectile(可能还有其他Emacs包)。但我需要能够访问/修改文件从Windows以及,所以这不是一个可行的选择。 有没有人为此找到好的解决方案?
问题内容: 我有一个下载器功能,可以并行下载多个文件。我使用以便下载同一文件的不同块。我想显示下载的状态栏。为此,我需要知道已经下载的总字节数()。 是否有一种方法可以设置将在所有这些进程和主进程之间共享的变量,以便每个进程都可以追加刚刚下载的字节数? 问题答案: 解决方案是利用新进程并传递共享的ctypes值:
问题内容: 我有两个线程。可以调用修改变量的类的update方法。另一个调用读取该变量的类的update方法。只有一个线程写入,一个(或多个)线程读取该变量。由于我是多线程技术的新手,我需要在并发方面做什么? 谢谢, 问题答案: 如果有且仅有一个写线程,你可以逃脱使得它。否则,请查看答案。 仅在只有一个写线程的情况下才起作用,因为只有一个写线程,因此它始终具有的正确值。
问题内容: 我想知道是否有某种方式可以在两个或多个Servlet之间共享变量或对象,我的意思是某种“标准”方式。我认为这不是一个好习惯,但是是构建原型的更简单方法。 我不知道这是否取决于所使用的技术,但我将使用Tomcat 5.5 我想共享一个简单类的对象的Vector(仅公共属性,字符串,int等)。我的意图是在数据库中拥有一个静态数据,当Tomcat停止时,它显然会丢失。(仅用于测试) 问题答