簡體   English   中英

與node.js同步寫入非常大的數據塊

[英]Writing very big data chunk synchroneously with node.js

我正在嘗試將很大的數據塊(由JSON.stringify生成)寫入文件。 它必須是同步的,因為我想在process:exit事件中保存它。 但是,當使用fs.writeFileSync()時,Node拋出此消息:

FATAL ERROR: JS Allocation failed - process out of memory

我已經嘗試過fs.createWriteStream(),但它似乎不起作用。 該代碼輸出中等數據量的0字節,並拋出較大的相同錯誤。

我認為您需要的是一個“泵”。 http://elegantcode.com/2011/04/06/taking-baby-steps-with-node-js-pumping-data-between-streams/之類的東西將減輕您的內核緩沖區,並且它們不必保留所有緩沖區一直都是文字。

我的問題是在JSON.stringify中。 數據太大,無法存儲在唯一的javascript字符串中。

我通過序列化每行一個屬性來解決此問題(因此,有X個對JSON.stringify的調用,其中X是對象中的屬性數)。 我的解串器通過添加每個屬性來重建對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM