mirror of https://gitee.com/openkylin/nodejs.git
28 lines
552 B
JavaScript
28 lines
552 B
JavaScript
'use strict';
|
|
const common = require('../common');
|
|
const { Readable } = require('stream');
|
|
|
|
// Make sure that readable completes
|
|
// even when reading larger buffer.
|
|
const bufferSize = 10 * 1024 * 1024;
|
|
let n = 0;
|
|
const r = new Readable({
|
|
read() {
|
|
// Try to fill readable buffer piece by piece.
|
|
r.push(Buffer.alloc(bufferSize / 10));
|
|
|
|
if (n++ > 10) {
|
|
r.push(null);
|
|
}
|
|
}
|
|
});
|
|
|
|
r.on('readable', () => {
|
|
while (true) {
|
|
const ret = r.read(bufferSize);
|
|
if (ret === null)
|
|
break;
|
|
}
|
|
});
|
|
r.on('end', common.mustCall());
|