Instead of wasting cycles concatenating buffers, just return each one by one. Similar (but not exact) old behavior can be achieved by using `readable.read(readable.readableLength)` instead of `readable.read()`. In some edge cases it might be necessary to do a `readable.read(0)` first. PR: https://github.com/nodejs/node/pull/60441 PR-URL: https://github.com/nodejs/node/pull/60441 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Gürgün Dayıoğlu <hey@gurgun.day> Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
17 lines
580 B
JavaScript
17 lines
580 B
JavaScript
'use strict';
|
|
|
|
const common = require('../common');
|
|
const assert = require('assert');
|
|
const { Worker } = require('worker_threads');
|
|
const { once } = require('events');
|
|
|
|
// Ensure that worker.getHeapSnapshot() returns a valid JSON
|
|
(async () => {
|
|
const worker = new Worker('setInterval(() => {}, 1000);', { eval: true });
|
|
await once(worker, 'online');
|
|
const stream = await worker.getHeapSnapshot();
|
|
stream.read(0); // Trigger the stream to start flowing
|
|
assert.ok(JSON.parse(stream.read(stream.readableLength)));
|
|
|
|
await worker.terminate();
|
|
})().then(common.mustCall());
|