stream: lazy load ReadableAsyncIterator

PR-URL: https://github.com/nodejs/node/pull/20567
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
This commit is contained in:
Ruben Bridgewater 2018-05-07 05:11:55 +02:00
parent 1a8aa8cac7
commit 3b5a7a3e19
No known key found for this signature in database
GPG Key ID: F07496B3EB3C1762

View File

@ -38,11 +38,11 @@ const {
ERR_METHOD_NOT_IMPLEMENTED,
ERR_STREAM_UNSHIFT_AFTER_END_EVENT
} = require('internal/errors').codes;
const ReadableAsyncIterator = require('internal/streams/async_iterator');
const { emitExperimentalWarning } = require('internal/util');
// Lazy loaded to improve the startup performance.
let StringDecoder;
let ReadableAsyncIterator;
util.inherits(Readable, Stream);
@ -988,7 +988,8 @@ Readable.prototype.wrap = function(stream) {
Readable.prototype[Symbol.asyncIterator] = function() {
emitExperimentalWarning('Readable[Symbol.asyncIterator]');
if (ReadableAsyncIterator === undefined)
ReadableAsyncIterator = require('internal/streams/async_iterator');
return new ReadableAsyncIterator(this);
};