> 웹 프론트엔드 > JS 튜토리얼 > 단순 약속 체인에서 중간 약속 결과에 어떻게 액세스할 수 있나요?

단순 약속 체인에서 중간 약속 결과에 어떻게 액세스할 수 있나요?

Linda Hamilton
풀어 주다: 2024-12-29 15:33:11
원래의
514명이 탐색했습니다.

How Can I Access Intermediate Promise Results in a Flat Promise Chain?

단순한 약속 체인에서 중간 약속 결과에 액세스

단순한 약속 체인 내에서 중간 약속 결과를 검색하려면 체인을 별도의 체인으로 분리해야 합니다. 세그먼트.

Promise Combinators

의 매개변수에 의존하는 대신 단일 콜백을 사용하여 중간 값을 얻으려면 약속 연결자를 활용하여 원하는 복합 값을 생성하는 것이 좋습니다. 이 접근 방식은 명확하고 구조화된 제어 흐름을 보장하여 모듈화를 간단하게 만듭니다.

다음 예를 고려하세요.

function getExample() {
    var a = promiseA(…);
    var b = a.then(function(resultA) {
        // some processing
        return promiseB(…);
    });
    return Promise.all([a, b]).then(function([resultA, resultB]) {
        // more processing
        return // something using both resultA and resultB
    });
}
로그인 후 복사

이 예에서는 Promise 결합자 Promise입니다. all은 a와 b의 결과를 집계하는 데 사용됩니다. 그런 다음 Promise.all을 따르는 콜백은 resultA와 resultB 모두에 액세스하고 활용하여 복합 값을 생성할 수 있습니다.

도우미 메서드

Q, Bluebird와 같은 라이브러리 및 . 여러 약속 결과의 처리를 단순화하기 위해 확산 ES5.

…
return Promise.all([a, b]).then(function(results) {
    results.spread(function(resultA, resultB) { … });
});
로그인 후 복사

Promise.join

Bluebird는 Promise.all 및 .spread 조합에 대한 보다 효율적인 대안으로 전용 Promise.join 기능을 제공합니다.

…
return Promise.join(a, b, function(resultA, resultB) { … });
로그인 후 복사

위 내용은 단순 약속 체인에서 중간 약속 결과에 어떻게 액세스할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿