// 여러개의 url 에, fetch 요청을 보내는 방법은 다양합니다. 아무래도 반복처리를 해야하기 때문에
// 고차함수들 즉, promise.all, foreach, for-of .. 써야되겠죠.
// 그런데 동작결과는 완전히 다를 수 있다는 점!
const baseURL = "https://jsonplaceholder.typicode.com/todos/";
const urls = [1, 2, 5, 10];
(function () {
urls.forEach(async (url) => {
console.log(`{${url}요청 시작}`);
const res = await fetch(baseURL + url);
const result = await res.json();
console.log(`{${url}요청 끝!}`);
});
console.log("전체 요청 끝!");
})();
//위 코드는 그냥 병렬적으로 실행된다.
//forEach자체가 원래 그냥 비동기가 있던말던, 코드를 실행시킨다. 그냥 콜백만 실행시켜주면 끝이다.
//forEach 역할은 콜백함수를 실행시키는 것이다.
//시간차를 두고 실행되게 하려면
(async function () {
for (let url of urls) {
console.log(`{${url}요청 시작}`);
const res = await fetch(baseURL + url);
const result = await res.json();
console.log(`{${url}요청 끝!}`);
}
console.log("전체 요청 끝!");
})();
// 그냥 for of 로 하면 직렬로 비동기 요청이 가능하다.