andrewrk / node-s3-client

high level amazon s3 client for node.js
MIT License
1k stars 303 forks source link

Added cancel funcionality to downloadFile #219

Closed marcosc90 closed 2 months ago

marcosc90 commented 5 years ago

Added the ability to cancel a download.

You can use: downloader.emit('cancel') to cancel the download, and downloader.on('cancelled') to check that it was cancelled.

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);

I can change the the API to provide a .cancel method, but since downloader is an EventEmitter using .emit seemed like a good idea.