0
const fs = require('fs')
const readline = require('readline')
const stream = require('stream')
const rl = readline.createInterface({
input: fs.createReadStream('logs_out.txt')
})
var items = new Set()
// ASYNC FUNCTION READING LINE BY LINE
rl.on('line', function(line) {
let log = JSON.parse(line)
// ADDING ITEMS TO A SET TO GET UNIQUE ITEMS COUNT
items.add(log.resource)
})
// PRINTING OUT THE SIZE OF THE SET
console.log(items.size)
现在的问题是,当我这样做时,我总是得到未定义或0的大小的集合,因为console.log(items.size)
甚至在执行所有line
函数之前执行。如何在异步函数中做一些同步?
如何解决此问题。
谢谢。
是的,它看起来像有多个异步调用的额外的复杂性可能重复。 –
一个明确的答案会非常感谢,因为我刚刚开始使用JS,对于我理解链接答案中的所有概念有点困难。 – deadpoolAlready
@deadpool把最后一行写成''rl.on(“end”,function(){/ * here * /})' –