0
我正在嘗試從數組中取值並在文本文件中寫入以下代碼。node.js將數組值寫入文本文件
while(filedataarr.length>0) {
firstelement = filedataarr.shift();
//console.log(firstelement);
fs.appendFile("D:\\Temp\\testclient.txt", firstelement+"\n", function(err) { if (err) throw err; });
}
它實際上工作,我可以看到文本文件中的數據。但問題是,線的順序是不同的。當我取消註釋console.log,它的作品。我認爲這是因爲異步調用而發生的。我不知道如何處理這個問題。
Data Comparison
Array Data File Data
11:41:24:562,9057 11:41:24:562,9057
11:41:24:567,1025 11:41:24:569,8872
11:41:24:569,8872 11:41:24:567,1025
11:41:24:571,1572 11:41:24:571,1572
11:41:24:573,429 11:41:24:573,429
11:41:24:574,61 11:41:24:577,3683
11:41:24:576,4863 11:41:24:574,61
11:41:24:577,3683 11:41:24:576,4863
11:41:24:578,8483 11:41:24:578,8483
17:11:53:826,1757 17:11:53:826,1757
請大家幫忙。
它的工作!非常感謝如此迅速的迴應。你讓我今天一整天都感覺很好。 – sand
一個問題。我正在寫入文件只是爲了在源和目的地進行比較,僅用於測試。實際上,我想通過套接字將這些數據發送給客戶端。像,io.emit('currtime',{currtime:firstelement.split(',')[0],number:firstelement.split(',')[1]})。它會同步嗎? – sand
不是。所有關於網絡,文件系統的操作默認都是同步的。假設你使用'socket.io',你[發送的元素應該以相同的順序接收](https://stackoverflow.com/questions/9282892/websocket-are-server-data-sent-synchronously)。 – drinchev