드림코딩 자바스크립트 11. 비동기 처리의 시작 콜백 이해하기, 콜백 지옥 체험 😱 JavaScript Callback | 프론트엔드 개발자 입문편 (JavaScript ES6)
를 보고 영상의 내용을 정리하고자 한다.
동기(Synchronous): 정해진 순서에 맞게 코드가 실행됨
비동기(Asynchronous): 언제 코드가 실행될 지 예측할 수 없다.
setTimeout
은 브라우저에서 지원되는 API로 지정한 시간이 지나면 콜백 함수를 호출한다.function() { console.log("2");}, 1000)
함수는 바로 실행되는 것이 아니라 setTimeout
이라는 함수 안에 하나의 파라미터(parameter, 인자)로 우리가 만든 함수를 전달해준다. 콜백은 항상 비동기에서만 쓰이는 걸까? - NO!
function printImmediately()
함수의 선언을 최상위로 올린다.setTimeout
의 정해진 시간이 지난 뒤 메시지를 출력한다.function printImmediately()
함수와 function printWithDelay()
함수를 최상위로 올린다.printWithDelay
함수)를 비동기 처리 후 정해진 시간이 지난 뒤 메시지를 출력한다.
위 코드를 토대로 UserStorage
클래스를 활용하여
작성한 코드를 토대로 id와 password를 입력하면 아래와 같이 alert이 뜬다.
반면에 아무 문자를 입력한 경우엔 console에 error가 출력된다.
이 다음 영상에서 비동기 코드를 깔끔하게 작성하는 방법을 알아보기로 한다.