Description
Hi everyone,
first of all, thank you all for providing and maintaining RNFS.
I am currently developing an app that allows users to download modules which consists of a lot of files (~300).
What I got so far (simplified version):
return await Promise.all(contents.map(async (file) => {
await RNFS.downloadFile({
fromUrl: basedir + '/' + file,
toFile: moduleFolder + '/' + file,
begin: (job) => {
console.log('Begin job: ' + job.jobId);
}
})
.promise.then((job) => {
console.log('Job done: ' + job.jobId);
})
.catch((err) => {
console.log(err);
});
}))
.then(() => {
console.log('Download complete.');
})
.catch((err) => {
console.log(err);
});
Now, what I can't quite wrap my head around yet is how to implement a function that stops all pending downloads.
I tried cancelling each download with stopDownload(job.jobId) as soon as the download begins, but then the debugger starts throwing a lot of errors like the following:
Also, this approach somehow doesn't feel like the right way to handle the issue.
I also tried adding download promises recursively, and experimented with Bluebird and cancellable promises, but haven't succeeded yet.
Any help is greatly appreciated. Thank you!