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 * /})' –