javascript - 在 Node.JS 中打开多个进程

标签 javascript node.js require node-modules

有一个问题,我在 Node.JS 上有代码,我想同时打开几个类似的文件(通过循环),当我尝试通过 execFile/spawn 执行此操作时,脚本运行,但没有任何结果发生。当你通过execFile/spawn打开一个循环、单个文件时,一切都正常,当通过资源管理器中双击打开多个文件时,也很正常。

我附上代码:

const spawn = require('child_process').spawn;
const fs = require('fs');

var files = fs.readdirSync('D:\\Downloads\\runBots\\');
var countFiles = 0;
var BotsProcess = new Array(10);

var startApplication = function(){
    for (var i in files) countFiles++;
    console.log("Bots in directory: " + countFiles);
    for(var j in countFiles) {
        BotsProcess[i] = spawn('D:\\Downloads\\runBots\\' + files[j], {shell : true});
    }
}
startApplication();

最佳答案

问题出在 for 循环上。变量 countFiles 是一个数字,而不是一个可迭代对象。您可能想要

for (var j in files) {
    ...
}

另外,我忍不住指出:

要获取 countFiles,您可以简单地使用 files.length。

您还可以使用 for of 循环,它将值分配给 j 而不是索引,如下所示:

for(var j of files) {
    BotsProcess[i] = spawn('D:\\Downloads\\runBots\\' + j, {shell : true});
}

关于javascript - 在 Node.JS 中打开多个进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53453773/

相关文章:

react-native - 当我在 React Native 中使用 `require` 加载图片时,它是否真的将图片加载到内存中?什么时候发布?

node.js - NodeJS 所需的模块在其他模块中不可用

javascript - JavaScript新手需要将Celsius转换为Fahrenheit和Kelvin,为什么我的代码无法正常工作?

php - 条件 PHP/Javascript 表单元素

javascript - 从子对象(如 Iframe)收集的 iPad 方向信息

node.js - 错误 : All configured authentication methods failed levels: 'client-authentication'

node.js - 在meteor包之后,node.js是 "LISTENING",但没有出现在本地主机上

javascript - 如何在模态 Bootstrap 中发送参数?

javascript - 无法在 Node.js 中解析 JSON

php获取文件的根目录