작성
·
392
1
콜백함수에서 첫번째 함수 선언했을때 나중에 그냥 sayHello()로 호출하면안되나요? 굳이 함수를 새로 만들어서 거기 인자에 콜백함수 넣고, 함수이름(sayHello)를 실행시키는 이유가 궁금해요~~
답변 1
0
콜백함수를 사용하는 이유는, 실행한 함수가 마무리된 후 콜백 함수가 호출됨을 보장할 수 있기 때문이라고 보시면 됩니다! 또 뒤에서 배울 비동기의 개념이 들어갔을 때 빛을 발하는데요.
저희가 배웠던 코드가 실행되는 순서는 코드 한줄이 실행이 완료되어야 다음 코드가 실행됐지만, 비동기 개념이 들어가면 앞줄 코드가 실행되고 실행 결과랑 상관없이 뒷줄이 바로 실행됩니다. 따라서 이런 상황에서 콜백함수는 아래 코드들이 다 실행되고 나서 콜백을 실행하는 함수가 완료됐을 때 실행을 시켜주므로 원하는 순서의 실행을 보장받을 수 있게 됩니다 :)