这被标记为重复的问题,因为它可能存在异常问题,但我已尝试添加对它的承诺,但它没有帮助。如果是一个ansync问题,有人可以向我解释一下吗?
我正在开发一个项目,我需要使用它来分析和处理txt文件中的数据。我使用Readline循环遍历txt文件的每一行,并且我能够像我想的那样操纵数据。我的问题是我无法返回数据,我只能控制它.log()它。如果我退回,我会收到一条消息,表明该回复包含无效字符'。有办法解决这个问题吗?谢谢!
const rl = readline.createInterface({
input: fs.createReadStream(input_file_path)
})
let arrofData = [];
rl.on('line', (line) => {
line = JSON.parse(line);
arrofData.push(line.user, line.action, line.timestamp);
})
rl.on('close', () => {
let bots = [];
for (let i = 0; i < arrofData.length; i++) {
let counter = i;
let dataToCheck = [];
while (dataToCheck.length < 20) {
dataToCheck.push(arrofData[counter]);
counter++;
}
if (!dataToCheck.length - 1) {
return bots;
}
let time = dataToCheck[dataToCheck.length - 1][2] - dataToCheck[0][2];
if (time <= 480) {
let filterForSameUser = dataToCheck.filter((username) => username[0] !== dataToCheck[0][0]);
if (filterForSameUser.length === 0) {
if (!bots.includes(dataToCheck[0][0])) {
bots.push(dataToCheck[0][0]);
}
}
}
}
console.log(bots);
return bots;
})