ForEach의 동작 먼저 예시 프로그램을 하나 보겠습니다. list에는 순서대로 timeout의 값들이 들어가 있고 forEach를 통해 순회하면서 testFunction을 실행하여 해당 결과를 출력해주는 프로그램입니다. 순서대로 반복한다는 점에서 개발자는 3000, 2000, 3000, 4000, 1000, 1000, 2000, 3000, 1000, 1000의 순서대로 결과가 출력된다는 것을 예측할 수 있습니다. 그런데 순서가 이상합니다. 숫자가 작은 것부터 큰 것 순으로 마치 정렬된 것 처럼 결과가 출력되었습니다. forEach는 해당 코드와 같이 동작합니다. list의 요소를 순회하면서 callback 함수를 ‘호출’합니다. callback 함수에 비동기 로직이 존재한다면? 이전 ca