Javascript 两个动作之间的of和延迟同步

Javascript 两个动作之间的of和延迟同步,javascript,for-loop,delay,Javascript,For Loop,Delay,。。但它似乎不起作用。对于同步运行的文件,它仍然会多次下载最后一个文件。如果需要“延迟”功能,可以创建如下内容: let files = document.querySelectorAll('#app .File'); let downloadButton = document.querySelector('.button-download'); for (let file of files) { file.click(); // click file setTimeout(

。。但它似乎不起作用。对于同步运行的文件,它仍然会多次下载最后一个文件。

如果需要“延迟”功能,可以创建如下内容:

let files = document.querySelectorAll('#app .File');
let downloadButton = document.querySelector('.button-download');

for (let file of files) { 
    file.click(); // click file
    setTimeout(() => {}, 1000); // delay of 1 sec between two clicks
    downloadButton.click(); // click download 
}
之后,您需要做的就是将代码包装在
async
函数中,以便在调用“delay”函数时能够使用
wait
关键字

function delay (ms) {
  return new Promise(resolve => {
    setTimeout(resolve, ms)
  })
}
如果需要“延迟”功能,可以创建如下内容:

let files = document.querySelectorAll('#app .File');
let downloadButton = document.querySelector('.button-download');

for (let file of files) { 
    file.click(); // click file
    setTimeout(() => {}, 1000); // delay of 1 sec between two clicks
    downloadButton.click(); // click download 
}
之后,您需要做的就是将代码包装在
async
函数中,以便在调用“delay”函数时能够使用
wait
关键字

function delay (ms) {
  return new Promise(resolve => {
    setTimeout(resolve, ms)
  })
}

你以为这里会发生什么?您没有等待任何东西,甚至没有使用
异步
功能。您所要做的就是简单地将干函数调度到下一秒所有的fire。您是否有过这样的印象,即for of会神奇地让您的代码明白您的期望,而不需要代码中的任何内容?您期望在这里发生什么?您没有等待任何东西,甚至没有使用
异步
功能。您所要做的就是简单地将干函数调度到下一秒所有的fire。您是否有过这样的印象,即for of会神奇地让您的代码理解您所期望的内容,而代码中没有任何内容告诉您?