потоки не работают после обновления до nodejs 10 - PullRequest
1 голос
/ 20 марта 2019

У меня есть следующий код, который загружает файл с FTP-сервера.Пакет ftp создает поток чтения, и я направляю его в поток записи.

ftp.connect(ftpConnObj)
    .then(function (data) {
        logging.log('Connected to FTP', clientId, jobId);
        return ftp.get('files/student.txt');
    }).then(function (stream) {
        logging.log('Downloading student file', clientId, jobId);
        return new Promise(function (resolve, reject) {
            /*stream.once('close', function() {
                console.log("close event called");
                resolve();
            });*/
            stream.on('readable', function() {
                console.log('readable');
            });
            stream.on('data', function(data) {
                console.log(data);
            });
            stream.on('end', function() {
                console.log('end');
            });
            stream.on('close', function() {
                console.log('close');
            });
            stream.on('error', function(err) {
                console.log(err);
            });
            var writeStream = fs.createWriteStream(dir + '/student.txt');
            stream.pipe(writeStream);
            writeStream.on('close', function() {
                console.log('closed');
                resolve();
            });
        });

Этот код отлично работает при использовании узла 8.15.1.Когда я обновился до узла 10.15.3, он больше не работает.Событие для чтения в потоке чтения будет обработано один раз, но после этого никакие другие события не будут вызваны, поэтому код просто зависает.

Есть ли что-то, что изменилось в узле 10, что требует, чтобы это было сделано по-другому?

...