amateur-cs

讀了這篇 Async 在 forEach、map 等各种迭代中的使用,修剪了其中的示例程序,更好理解些了。

function get(i) {
  return new Promise(resolve => {
    setTimeout(() => {
      console.log("get %d", i);
      resolve(i);
    }, i * 500);    
})
}

async function printFiles() {
  const files = [3, 1, 2].map(file => get(file));
  for await (const contents of files) {
    console.log("contents: %d", contents);
  }
}

printFiles();
// will console:
get 1
get 2
get 3
contents: 3
contents: 1
contents: 2

#async