비동기란?
- 특정 코드의 연산이 끝날 때까지 코드의 실행을 멈추지 않고 다음 코드를 먼저 실행하는 자바스크립트의 특성을 의미합니다
- 화면에서 서버로 데이터를 요청했을 때 서버가 언제 그 요청에 대한 응답을 줄지도 모르는데 마냥 다른 코드를 실행 안 하고 기다릴 순 없기 때문
그런데 이런 비동기는 개발자 입장에서는 언제 뭐가 먼저 처리되는지 알 수 없음
- 콜백함수의 사용
- 다른 함수의 인자로 전달되는 함수
- 동기, 비동기 상관없이 사용 가능
- 사용이유
- 명시적 호출이 아닌 특정 조건 혹은 행동에 의해 호출 가능
- "클릭하면", "데이터를 받아오면"
- 콜백지옥에 빠질 수 있다.
- 그러나 콜백함수 자체는 비동기 작업을 순차적으로 실행할 수 있게 하는 반드시 필요한 로직
promise란?
- 자바스크립트 비동기 처리에 사용되는 객체
- 작업이 끝나면 실행시켜 줄게 라는 "약속"
- 비동기 작업의 완료 또는 실패를 나타내는 객체(반환되는 객체)
AJAX란?
- 비동기 통신을 이용하면 화면 전체를 새로고침 하지 않아도 서버로 요청을 보내고, 데이터를 받아 화면의 일부분만 업데이트가 가능
- 이러한 비동기 통신 웹 개발 기술(Asynchronus JavaScript And XML)
- 페이지 새로고침 없이 서버에 요청, 서버로 부터 응답받아 작업을 수행하는 것이 특징