다음 코드 어떻게 동작 하는건가요? 일반적인 for 문과 다르게 돌아가나요? for 에 await 붙은 형태는 처음봐서 신기하네요...
답변 1
인기 답변
for await of 문은 비동기 이터레이터를 순회하거나, 반복문 내에서 비동기 작업을 처리하기 위해 사용합니다. for await of 문을 사용하게 되면, 각 비동기 작업이 순차적으로 실행됩니다. 예를 들어 1초 후 값을 콘솔에 기록하는 delay 이라는 비동기 함수가 있고, for await (const item of [1,2,3]) { await delay(item); } console.log(4) 이라는 코드가 있다면, 콘솔에 1초마다 1, 2, 3 값이 하나씩 찍히고 마지막에 4가 찍히게 됩니다. 물론, for await of 가 아닌 for of 구문을 사용해도 마찬가지지만, for await of 는 이런 단순 배열이 아닌 ‘비동기 이터레이터’를 다루기 위해 주로 활용됩니다. 이에 대해 설명하기에는 글이 좀 길어질 것 같아 링크로 대체드리는 점 양해 부탁드립니다. https://ko.javascript.info/async-iterators-generators 비슷한 역할을 하는 문법으로는 Promise.all 도 있습니다만 for await of 와 Promise.all 에는 아주 중요한 차이가 있습니다. 이에 대해서는 좀 더 관심이 있으시다면, 검색해보시고 직접 실습해보시면 쉽게 이해하실 수 있을 거에요!😊
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직 개발자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!