React

[React] async await

라임오렌지원 2022. 11. 15. 23:21

*찾게 된 이유

외부 스크립트 호출 하여 해당 파일에 있는 변수를 사용하고자 했는데,

호출하는 함수가 미처 끝나기 전에 변수를 읽어오는 함수가 시작되어 undefined가 뜨면서 error 발생.

호출하는 함수를 다 끝내고 변수를 읽어오기 위해 찾게 된 방법이다.

 

 


사용방법1.

const sampleFunc = async () => {
    const result = await asyncFunc() // asyncFunc 함수는 Promise 객체를 반환한다
    console.log(result)
}

 

사용방법2.

async function sampleFunc() {
	const result = await asyncFunc() // asyncFunc 함수는 Promise 객체를 반환한다
    	console.log(result)
}

 

 

 

왜 await만 쓰지 않고, async를 같이 사용해야 할까?

 

async를 붙여서 함수를 정의하면 실제로는 Promise 함수로 만들어진다.

그래서 그 함수를 async가 아닌 다른 함수에서 await없이 호출하는 경우 리턴값을 받으려면

.then()으로 호출해야 한다.

즉, async라고 붙이는 것은 그 함수가 Promise 타입으로 만들어져야 한다는 것을 명시하는 행위이기도 하다.

 

 

다른 의미로

async 붙은 함수(함수A)를 async가 아닌 다른 함수에서 호출하고 그 직후 다른 동작을 수행하게 되면

함수A  동작이 완료되기 전에 다른 동작이 동시에 수행하게 된다.

 

 


 

참고사이트

 

https://one-it.tistory.com/entry/Promise-%EC%A0%95%EB%A6%AC-asyncawait-%EC%82%AC%EC%9A%A9%EB%B2%95-then%EA%B3%BC%EC%9D%98-%EC%B0%A8%EC%9D%B4

 

Promise 정리: async/await 사용법 & then과의 차이

서비스 개발을 하다보면 비동기적으로 개발해야 할 일이 많습니다. JavaScript에서는 과거 callback 함수를 통해 비동기를 구현하곤 했으나 요즘에는 Promise 객체를 반환하게 하여 async와 await로 작업

one-it.tistory.com

 

https://okky.kr/articles/1062046

 

OKKY - All That Developer

OKKY는 국내 최대 개발자 지식공유 플랫폼입니다. 개발자에게 필요한 기술 Q&A, 아티클, 커리어, 네트워킹, 취업, IT행사를 지원합니다

okky.kr

 

728x90

'React' 카테고리의 다른 글

[React] 화살표 함수 (즉시실행)  (0) 2022.11.22
[React]라이프사이클 메서드의 이해  (1) 2022.11.21
createBrowserHistory  (0) 2022.10.20
dangerouslySetInnerHTML  (0) 2022.10.06
React 화살표 함수  (2) 2022.09.21