실행함수

render(
  "<http://localhost:3000/1>",
  "<http://localhost:3000/2>",
  "<http://localhost:3000/3>",
  "<http://localhost:3000/4>"
);

Sequential Async


순차적 비동기? 비동기는 무조건 병렬아냐?

[Promise.all을 이용한 parallel하게 처리한 코드]

const render = (...urls) => {
  Promise.all(urls.map(url => fetch(url).then(res => res.json()))).then(arr => {
    console.log(arr);
  });
};

[Sequential 하게 처리한 코드]

const render = (...url) => {
  const loop = () => {
    if (url.length) {
      fetch(url.shift())
        .then(res => res.json())
        .then(json => {
          console.log(json);
          loop();
        });
    }
  };
  loop();
};

Generator & Executor