функция прерывания при загрузке папки с S3 - PullRequest
0 голосов
/ 04 марта 2019

Я использую пакет https://www.npmjs.com/package/s3 для загрузки папки с s3, но я не могу найти какой-либо способ отменить загрузку или прервать процесс загрузки.

Так как я могу прервать текущую загрузку или остановить процесс загрузки?Любые предложения для пакетов, предлагающих эту функцию?

Размер папки составляет до 10 ГБ, а папка содержит 1000 файлов, поэтому она создает несколько запросов для одной и той же папки.

1 Ответ

0 голосов
/ 10 марта 2019

Я изменил код модуля s3, чтобы разрешить отмену.

Вот PR , но пока вы можете использовать мой fork для тестирования:

const downloader = client.downloadFile(params);

downloader.on('error', function(err) {
  console.error('unable to download:', err.stack);
});

downloader.on('cancelled', function() {
  console.log('Download was cancelled:');
});

downloader.on('progress', function() {
  console.log('progress', downloader.progressAmount, downloader.progressTotal);
});

downloader.on('end', function() {
  console.log('done downloading');
});

setTimeout(() => {
  downloader.emit('cancel');
}, 2000);

Я добавил способ вызова request.abort() по запросу s3.getObject.

...