*찾게 된 이유
외부 스크립트 호출 하여 해당 파일에 있는 변수를 사용하고자 했는데,
호출하는 함수가 미처 끝나기 전에 변수를 읽어오는 함수가 시작되어 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 동작이 완료되기 전에 다른 동작이 동시에 수행하게 된다.
참고사이트
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
'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 |