我正在开发一个通过api下载文件的角度cordvoa应用程序。我正在使用cordova-plugin-file-transfer
来处理下载。但是,下载时间比传递给函数的时间要长。
我正在使用$q
来访问promise
。
$cordovaFileTransfer.download(fileUrl, filePath+fileName, {}, true)
.then(function (result) {
//console.log(result);
}, function (err) {
console.log(err);
}, function (progress) {
//console.log(progress);
});
当我运行一些控制台日志显示事物是如何处理时,我可以看到多个文件在完成之前传递给上面的文件并且该函数运行最新传递的文件。
我需要基本上设置一个队列,这样每个文件都可以先到先得的方式下载。
---编辑---
更简单一点:
我正在使用Angular构建Cordova应用程序。所以,我正在使用ngCordova。
我有一个函数,它接受一个数组,从数组中获取文件URL,并将url,要下载的位置和文件名传递给另一个函数。
第二个函数使用cordova-plugin-file-transfer
插件下载文件。文件传输到函数的速度比下载速度快。我需要设置一个队列,这样我就可以一次下载一个文件。
AngularJS拥有$q
方法,可让我访问promise
。我/如何使用promise
对文件进行排队,以便我不会错过任何文件?