팀프로젝트로 제작중인 웹사이트에 새로운 기능을 구현하기위해 javascript의 async기능을 이용해 보았다. javascript는 코드를 순차적으로 실행하지 않고 빨른 호출이 가능한 순서대로 호출이 되기때문에 조금 어려움이 있었다. javascript 코드를 작성하는 방법이 여러가지가 있는데 그들 중에 로딩 우선순위를 보자면
<script>
➜ (function(){}()) ➜ $(document).ready(funtion(){}) == $(funtion(){})
순서로 실행하고 그 외의 코드들은 먼저 실행이 가능한 순서부터 처리한다고 한다.
어떻게 보면 효윺적인 방법이고 나처럼 javascript를 잘 모르는 사람은 어떤 코드가 먼저 실행될지 몰라서 당황하는 경우도 생길 것이다.
async와 await는 javascript의 비동기 처리 패턴 중 가장 최근에 나온 문법이다. 기존의 비동기 처리 방식인 Callback 함수와 Promise의 단점을 보완하고 개발자가 읽기 좋은 코드를 작성 할 수 있게 도와준다.
함수 앞에 async라는 예약어를 붙인다. 함수 내부 로직 중 HTTP통신을 하는 비동기 처리 코드 앞에 await를 붙인다.
async function 함수이름() {
await 비동기_처리_메서드_이름();
}
비동기 처리 메서드가 꼭 Promise 객체를 반환해야 await가 제대로 동작한다.
새로운걸 배우는 것은 매우 매우 즐겁다! 아직 완벽하게 안다고 말할 수는 없지만 너무나 뿌듯한 하루였다 😆