Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Firefox';s Downloads.jsm在观察文件时一次下载一个文件?_Javascript_Firefox_Firefox Addon_Download - Fatal编程技术网

Javascript 使用Firefox';s 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

Mozilla说,我正在尝试使用Downloads.jsm以串行方式一次下载几个文件

但当我试着这样使用它时:

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下载)