비동기 함수: 반환 값과 약속 이해
비동기 함수를 사용하면 동기식으로 코드를 작성할 수 있지만 본질적으로 약속을 반환합니다. 이는 코드의 반환 값과 관련하여 혼란을 초래할 수 있습니다.
Promise: 빠른 개요
Promise는 비동기 작업의 최종 완료 또는 실패를 나타내는 개체입니다. . 두 가지 핵심 메소드를 제공합니다:
비동기 함수 및 약속
비동기 함수는 명시적으로 wait 키워드를 사용하지 않더라도 항상 약속을 반환합니다. . 이 약속은 비동기 작업의 결과를 나타냅니다. 함수에서 오류가 발생하면 Promise는 해당 오류와 함께 거부됩니다.
사용법:
콜백 함수를 사용한 Promise:
<code class="javascript">const myAsyncFunction = () => { return new Promise((resolve, reject) => { setTimeout(() => { resolve('Asynchronous value'); }, 1000); }); }; myAsyncFunction() .then(result => { console.log(`Callback Result: ${result}`); }) .catch(error => { console.log(`Error: ${error}`); });</code>
Async/Await를 사용한 약속:
<code class="javascript">async function myAsyncFunction() { const result = await new Promise((resolve, reject) => { setTimeout(() => { resolve('Asynchronous value'); }, 1000); }); return result; } myAsyncFunction() .then(result => { console.log(`Await Result: ${result}`); }) .catch(error => { console.log(`Error: ${error}`); });</code>
이 예에서 myAsyncFunction은 1초 지연 후 '비동기 값' 값으로 해결되는 약속을 반환합니다. . then 및 catch 메소드는 각각 해결 또는 거부된 상태를 처리합니다.
Promise 반환
수정 없이 Promise 자체를 반환하려면 다음과 같이 하면 됩니다. 쓰기:
<code class="javascript">const myAsyncFunction = () => { return new Promise(...); };</code>
수정된 값 반환
비동기 함수에서 수정된 값을 반환하려면 then 메서드 내에서 Promise 결과를 처리하고 반환해야 합니다. 수정된 값. 예:
<code class="javascript">async function myAsyncFunction() { const result = await new Promise(...); return result.toUpperCase(); }</code>
이 함수는 결과의 대문자 버전으로 해결되는 Promise를 반환합니다.
위 내용은 비동기 함수의 반환 값은 무엇이며 약속과 어떤 관련이 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!