работал ли кто-нибудь с PromiseFTP? получаю список файлов по маске нужных мне, then делаю get в цикле для каждого файла. Выводит Possible EventEmitter memory leak detected. 11 error listeners added. Хотя eventNames и listenerCount выводят [ 'end', 'finish', '_socketEnd', 'error', 'close', 'data' ] 3 1 1 2 2 1 в каждой итерации. цифры соответствуют количеству слушателей для каждого события. и почему их по 3 если должно быть по 1? ковыряюсь 2 день не пойму.
код:
var ftp = new PromiseFtp();
ftp.connect(ftp1).then(function (serverMessage) {
console.log('Server message: '+serverMessage);
return ftp.list('2019/07/18/*fr.jpg');
}).then(function (list) {
list.forEach(function(element,nubmer) {
returnImage(element);
});
}).then(function (resultofwork) {
return ftp.end();
});;
function returnImage(element){
return ftp.get('2019/07/18/'+element.name).then(function (stream) {
return new Promise(function (resolve, reject) {
stream.once('close', resolve);
stream.once('error', reject);
stream.pipe(fs.createWriteStream('files/'+element.name));
console.log(stream.eventNames(), stream.listenerCount('end'),stream.listenerCount('finish'),stream.listenerCount('_socketEnd'),stream.listenerCount('error'),stream.listenerCount('close'),stream.listenerCount('data'),);
});
})};
свойство events объекта stream:
_events:
{ end: [ [Function], [Function], [Function] ],
finish: [Function: onSocketFinish],
_socketEnd: [Function: onSocketEnd],
error: [ [Function], [Function] ],
close: [ [Function], [Function] ],
data: [Function: ondata] },