>웹 프론트엔드 >JS 튜토리얼 >JavaScript에서 연결된 약속의 해결된 값에 어떻게 액세스합니까?

JavaScript에서 연결된 약속의 해결된 값에 어떻게 액세스합니까?

DDD
DDD원래의
2024-12-21 09:24:10969검색

How Do I Access the Resolved Value of a Chained Promise in JavaScript?

프로미스 값 액세스 이해

프로메사는 최신 JavaScript에서 널리 사용되어 비동기 작업이 가능합니다. 사용법은 잘 문서화되어 있지만 특정 측면에서는 혼란스러울 수 있습니다. 일반적인 질문 중 하나는 특히 Promise가 .then() 메서드를 통해 연결될 때 Promise의 값에 액세스하는 방법입니다.

제공된 예제에서 PromiseB는 PromiseA에서 생성됩니다. 문서에는 promiseA가 해결된 후 promiseB가 결과 1과 동일한 값을 보유한다고 명시되어 있습니다. 그러나 이 값에 액세스하는 방법은 즉시 명확하지 않습니다.

Promise 값 액세스

이를 이해하는 핵심은 .then() 메서드가 새 Promise를 반환한다는 것입니다. 원래 Promise(이 경우 promiseA)가 해결된 후에 해결됩니다. 이 새로운 Promise의 값은 성공 콜백 함수에서 반환된 값에 따라 결정됩니다.

제공된 예에서 성공 콜백은 결과 1을 반환합니다. 이는 promiseB가 이 값으로 해결된다는 의미입니다. 이 값에 액세스하려면 promiseA에 액세스하는 것과 동일한 방식으로 promiseB.then(function(result) {...})을 사용합니다.

Async/Await 구문

ECMAScript 2016(ES7)에는 Promise 작업을 위한 .then() 메서드의 대안을 제공하는 async/await 구문이 도입되었습니다. async/await를 사용하면 wait 키워드를 사용하여 Promise 값에 직접 액세스할 수 있습니다.

예를 들어 다음과 같이 쓰는 대신 다음과 같이 쓸 수 있습니다.

promiseB.then(function(result) {
    // Use the result
});

async function doSomething() {
    const result = await promiseB;
    // Use the result
}

단, async/await는 async 함수 내에서만 사용할 수 있다는 점에 유의하세요.

위 내용은 JavaScript에서 연결된 약속의 해결된 값에 어떻게 액세스합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.