자바스크립트 언어는 비동기방식으로 진행됨.
비동기 방식으로 진행되기 때문에 data를 요청하고 응답하는 과정에서 요청한 데이터가 오기전에 응답을 먼저해버려서 data를 잘 가져오지 못하는 문제가 발생할 수 있다.
자바스크립트 언어의 비동기 처리방식 1
콜백 (callback) : 다른 코드의 인수로서 넘겨주는 실행 가능한 코드
비동기적인 자바스크립트의 코드 방식에 콜백함수를 넣어줌으로써, 비동기적인 방식을 순차적으로 실행할 수 있도록 함.
문제점 : 연산이 복잡해질 경우, 코드가 가독성이 떨어지게 됨.
자바스크립트 언어의 비동기 처리방식 2
Promise 방식 : 코드를 리턴하는 함수를 Promise 객체 안에 넣고 리턴하는 부분에 then()
메소드를 넣어 결과값이 리턴되어야지만 다음 작업을 실행하게 함.
리턴값은 Promise 객체 형태로 나와 then()
메소드 체이닝이 가능하다.
fetch()
함수는 url을 인자로 받고 Promise 객체를 반환한다.
자바스크립트 언어의 비동기 처리방식 3
프로미스를 문제점( then()
메소드 체이닝의 연쇄호출 등 )보완하고 코드의 가독성을 높여줌.
async function functionName {
await methodName()
}
장점 : 코드가 짧아지고 가독성이 높아짐(비동기방식의 코드를 동기적형태로 한눈에 파악가능)