У меня есть сценарий, когда мне нужно вернуть очень большой объект, преобразованный в строку JSON, из моего Node.js/Express RESTful API.
res.end(JSON.stringify(obj));
Однако это, похоже, не очень хорошо масштабируется. В частности, он отлично работает на моей тестовой машине с подключением 1-2 клиентов, но я подозреваю, что эта операция может убивать использование ЦП и памяти, когда многие клиенты запрашивают большие объекты JSON одновременно.
Я искал асинхронную библиотеку JSON, но единственный, что я нашел, кажется, имеет проблему (в частности, я получаю a [RangeError]). Не только это, но и возвращает строку в одном большом фрагменте (например, обратный вызов вызывается один раз со всей строкой, что означает, что размер памяти не уменьшается).
То, что я действительно хочу, это полностью асинхронная потоковая версия функции JSON.stringify, так что она записывает данные, поскольку они упакованы непосредственно в поток... таким образом, сохраняя меня как объем памяти, так и от потребления CPU синхронно.