Javascript 使用Firefox';s Downloads.jsm在观察文件时一次下载一个文件?
Mozilla说,我正在尝试使用Downloads.jsm以串行方式一次下载几个文件 但当我试着这样使用它时:Javascript 使用Firefox';s Downloads.jsm在观察文件时一次下载一个文件?,javascript,firefox,firefox-addon,download,Javascript,Firefox,Firefox Addon,Download,Mozilla说,我正在尝试使用Downloads.jsm以串行方式一次下载几个文件 但当我试着这样使用它时: Task.spawn(function () { let list = yield Downloads.getList(Downloads.ALL); let view = { onDownloadAdded: download => console.log("Added", download), onDownloadChanged: download
Task.spawn(function () {
let list = yield Downloads.getList(Downloads.ALL);
let view = {
onDownloadAdded: download => console.log("Added", download),
onDownloadChanged: download => console.log("Changed", download),
onDownloadRemoved: download => console.log("Removed", download),
};
yield list.addView(view);
try {
let download = yield Downloads.createDownload({
source: "http://www.mozilla.org/",
target: OS.Path.join(OS.Constants.Path.tmpDir, "example-download.html"),
});
list.add(download);
download.start();
} finally {
yield list.removeView(view);
moveOnToNextDownload();
}
}).then(null, Components.utils.reportError);
当我使用moveOnNextDownload()
继续下一次下载时,会启动多个下载并并行下载文件
如何使用Downloads.jsm以串行方式一次下载一个文件?
download.start
是一种异步方法,返回一个,因此在第一次下载开始后立即调用moveOnNext下载
相反,您可以执行download.start()。然后(moveOnNext下载)