상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - JavaScript에서 비동기 함수의 반환값은 무엇인가요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
JavaScript에서 비동기 함수의 반환값은 `Promise` 객체입니다. 비동기 함수는 `async` 키워드로 정의되며, 이 함수 내에서 `await` 키워드를 사용하여 비동기 작업의 완료를 기다릴 수 있습니다. 비동기 함수의 주요 목적은 비동기 작업을 보다 간편하게 처리하고, 코드의 가독성을 높이는 것입니다. 비동기 함수의 정의 비동기 함수는 다음과 같이 정의됩니다: ```javascript async function myAsyncFunction() { // 비동기 작업 } ``` 이 함수는 호출될 때 항상 `Promise`를 반환합니다. 만약 함수 내에서 명시적으로 `return` 문을 사용하여 값을 반환하면, 이 값은 자동으로 `Promise.resolve(value)`로 감싸져서 반환됩니다. 반대로, 함수 내에서 예외가 발생하면, 이 예외는 `Promise.reject(error)`로 변환되어 반환됩니다. 반환값의 예 다음은 비동기 함수의 반환값을 보여주는 간단한 예제입니다: ```javascript async function fetchData() { return "데이터를 성공적으로 가져왔습니다!"; } fetchData().then(result => { console.log(result); // "데이터를 성공적으로 가져왔습니다!" }); ``` 위의 예제에서 `fetchData` 함수는 문자열을 반환하지만, 실제로는 `Promise` 객체가 반환됩니다. 이 `Promise`는 성공적으로 해결되면 문자열을 결과로 제공합니다. await 키워드 `await` 키워드는 비동기 함수 내에서만 사용할 수 있으며, `Promise`가 해결될 때까지 코드 실행을 일시 <a href='https://sangseek.com/sangseeks/중지/ko'>중지</a>합니다. `await`를 사용하면 비동기 작업의 결과를 동기적으로 처리할 수 있습니다. ```javascript async function getData() { const data = await fetchData(); // fetchData()의 Promise가 해결될 때까지 대기 console.log(data); // "데이터를 성공적으로 가져왔습니다!" } ``` 예외 처리 비동기 함수 내에서 발생하는 예외는 `try...catch` 블록을 사용하여 처리할 수 있습니다. 예외가 발생하면 `Promise`는 거부 상태로 전환됩니다. ```javascript async function <a href='https://sangseek.com/sangseeks/fetchDataWithError/ko'>fetchDataWithError</a>() { <a href='https://sangseek.com/sangseeks/throw/ko'>throw</a> new Error("데이터를 가져오는 중 오류 발생!"); } async function getDataWithErrorHandling() { try { const data = await fetchDataWithError(); } catch (error) { console.error(error.message); // "데이터를 가져오는 중 오류 발생!" } } getDataWithErrorHandling(); ``` 결론 JavaScript에서 비동기 함수는 항상 `Promise` 객체를 반환하며, 이는 비동기 작업의 결과를 처리하는 데 매우 유용합니다. `async`와 `await`를 사용하면 비동기 코드를 더 직관적이고 가독성이 높게 작성할 수 있으며, 예외 처리 또한 간편하게 수행할 수 있습니다. 이러한 특성 덕분에 비동기 프로그래밍이 더욱 쉬워지고, 복잡한 비동기 작업을 관리하는 데 큰 도움이 됩니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기