У меня есть огромная структура данных, что мне нужно сбросить в файл:избежать блока цикла событий Node.js во время работы JSON.stringify
fs.writeFile('dump.json', JSON.stringify(bigData));
Результирующий файл близок к 100MB, и это занимает несколько секунд, чтобы произвести , Пока выполняется JSON.stringify
, он блокирует цикл событий, и мой сервер не обрабатывает никаких запросов.
Есть ли способ как-то разделить вызов JSON.stringify
? Мой bigData
var - это массив объектов, поэтому я, вероятно, мог бы написать функцию для их сериализации отдельно, а затем сшить JSON вместе, чтобы убедиться, что запросы могут обрабатываться между ними, - но существуют ли уже существующие решения (внешние модули Это хорошо)?
Хотя эта ссылка может ответить на вопрос, лучше включить здесь основные части ответа и предоставить ссылку для справки. Ответные ссылки могут стать недействительными, если связанная страница изменится. - [Из обзора] (/ review/low-quality-posts/10412107) –
@AhmedAshour - вы не можете серьезно ожидать, что весь источник модуля будет вставлен в ответ. Ссылка на домашнюю страницу модуля, и это нормально. – Rytis
Что касается самого модуля, он записывает некоторые данные, но не все - я получаю только 50 Мбайт вместо всех 100 МБ данных. Довольно трудно проследить, чего не хватает! – Rytis