javascript - 如何在Javascript中访问函数外部的变量?
问题描述
我编写了以下代码片段来读取文件中存在的总行数。但是我无法在读取流之外访问计数器的值。当我最后打印约束和目标时,它给了我 0。预期的结果应该是目标和约束的总数。请帮我解决一下这个。
const fs = require('fs');
const readline = require('readline');
const folder = './project/';
var actors = 0;
goals = 0;
constraints=0;
fs.readdirSync(folder).forEach(file => {
actors = actors+1;
fs.readdirSync(folder+file).forEach(f=>{
var path = folder+file+'/'+f;
var k = 0;
var r1 = readline.createInterface({
input: fs.createReadStream(path),
output: process.stdout,
terminal:false
});
r1.on('line',(line)=>{
k++;
});
r1.on('close',()=>{
if(f==='Constraints.txt'){
constraints=constraints+k;
}
else{
goals=goals+k;
}
})
});
});
console.log(actors);
console.log(constraints);
console.log(goals);
解决方案
推荐阅读
- angular - Angular 构建期间的紧凑型 graphQL 查询字符串
- wordpress - %{HTTP:Authorization} 导致基本令牌格式错误
- java - 使用 java 8 流过滤列表中的对象
- git - git按规则忽略指定类型的文件更改
- python - 在 Pygame 中从屏幕右侧发送障碍物
- oracle - 在 Oracle 中转换时区格式
- vba - 如何使用 vba 从 Object 获取元素 ID
- intellij-idea - 如何在 Intellij Platform SDK 中枚举编辑器及其位置?
- javascript - Blazor WASM 在不使用 JavaScript 的情况下处理 dom 元素
- c# - 在 C# 中针对浮点数验证整数值