비동기 코드로 작업할 때 개발자는 종종 async/await 중에서 선택해야 하는 딜레마에 직면합니다. 그리고 .then().catch(). 두 접근 방식 모두 비동기 작업을 처리하는 방법을 제공하지만 최적의 결과를 위해 결합할 수 있습니까?
Async/Await 및 .then().catch()를 함께 사용
다음 코드 조각을 고려하세요.
<code class="javascript">async apiCall(params) { var results = await this.anotherCall() .then(results => { //do any results transformations return results; }) .catch(error => { //handle any errors here }); return results; }</code>
여기서 async/await 구문은 anotherCall()의 결과를 기다리는 동안 함수 실행을 일시 중지하는 데 사용됩니다. 그러나 .then().catch()는 오류를 처리하거나 추가 변환을 수행하는 데에도 사용됩니다.
잠재적인 문제
async/await 및 .then( ).catch()를 함께 사용하면 편리해 보일 수 있지만 몇 가지 잠재적인 문제가 발생할 수 있습니다.
더 나은 대안: Async/Await 및 try/catch
이러한 문제를 방지하려면 다음을 수행하는 것이 좋습니다. .then().catch() 대신 try/catch와 함께 async/await를 사용하세요. 이 접근 방식은 오류 처리 기능을 유지하면서 깨끗하고 간결한 코드 구조를 보장합니다.
<code class="javascript">async function asyncCall() { try { const results = await anotherCall(); return results; } catch (error) { //handle errors here } }</code>
이 예에서 try/catch 블록은 anotherCall()에서 발생하는 모든 오류를 처리하고 오류 처리를 위한 중앙 위치를 제공합니다.
위 내용은 Async/Await와 .then().catch()가 효율적인 비동기 코드를 위해 함께 작동할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!