-
api response와 async 함수, awaitReact 2023. 3. 22. 15:12
async 함수
: 비동기 함수 ( 호출 시점에서 실행결과를 기다리지 않는 함수 )
-> 자바스크립트의 경우 single thread 기반 언어이기 때문에, 한 번에 하나의 작업이 가능하다.
하지만 비동기 함수를 사용하면 함수의 실행결과를 기다리지 않고 다른 작업을 수행하기 때문에 브라우저에
화면이 병렬적으로 로딩되게 만들 수 있다. ( 동기함수의 하나의 작업이 끝나지 않으면 화면이 멈출 수 있음 )
async function 함수명() { return something; }
: async는 function 앞에 위치할 수 있으며, async 가 붙은 함수는 항상 프라미스를 반환한다.
프라미스가 아닌 값이라면, 이행 상태의 프라미스로 값을 감싸서 이행된 프라미스가 되도록 만든다.
await
: async 함수 내부에서만 작동하며, 프라미스가 처리될 때 까지 기다린다.
( 함수 본문이 실행되는 도중에 await 부분의 처리가 다 끝날 때 까지 함수의 작동이 멈추고
처리가 다 끝난 이후에 다시 실행된다.)
const useAwait = await promis;
- 프라미스가 처리될 때 까지 기다리는 동안 현재 함수의 실행을 중단하고, 이벤트 루프를 통해 다른 작업을 처리한다.
이렇게 함으로써 다른 코드가 실행될 수 있으며, 프로그램이 더욱 효율적으로 실행된다.
( 병렬적으로 실행되는 비동기 함수를 컨트롤 할 수 있게 해준다 )
'React' 카테고리의 다른 글
git hub를 이용해 웹 사이트 배포하기 (0) 2023.03.21 React Router ( parameters ) (0) 2023.03.20 useEffect (0) 2023.03.19 React Router (ver. 6 이상) (0) 2023.03.19 OPEN API 데이터 불러오기 ( fetch ) (0) 2023.03.19