.then() 체인에서 이전 Promise 결과에 액세스
Promise를 사용하여 코드 구조화를 추구하는 "플랫 Promise 체인" 여러 개의 .then() 콜백으로 구성된 것이 생성될 수 있습니다. 그러나 이 체인 내의 중간 Promise 결과에 액세스하는 것은 일반적으로 후속 콜백 범위에 포함되지 않기 때문에 어려울 수 있습니다.
체인 깨기
중간 값에 액세스하려면 다음을 고려하세요. 체인을 더 작은 조각으로 분해합니다. 단일 콜백을 연결하고 해당 매개변수를 반복적으로 활용하려고 시도하는 대신 각 결과 값이 필요한 동일한 Promise에 여러 콜백을 연결하세요. 라이브러리에서 제공하는 Promise 결합자를 통합하여 결과 값을 구성할 수 있습니다.
이러한 접근 방식은 제어 흐름을 단순화하고 구성을 향상하며 모듈화를 용이하게 합니다.
수정된 코드 예:
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 }); }
ES5 대안:
… return a.then(function(resultA) { return b.then(function(resultB) { // more processing return // something using both resultA and resultB }); });
Bluebird 솔루션:
… return Promise.join(a, b, function(resultA, resultB) { … });
위 내용은 JavaScript .then() 체인에서 이전 Promise 결과에 어떻게 액세스할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!