Promise.all: 해결된 값의 순서
JavaScript에서 Promise.all은 해결을 허용하여 Promise의 기능을 향상시키도록 설계되었습니다. 여러 약속을 동시에 수행합니다. Promise.all의 주요 측면 중 하나는 확인된 값이 콜백에 전달되는 순서입니다.
MDN 문서에 따르면 확인된 값의 순서는 입력 배열의 Promise 순서와 일치해야 합니다. 이는 해결하려는 첫 번째 약속의 값이 then() 콜백에 전달된 결과 배열의 첫 번째 위치에 놓이게 됨을 의미합니다.
이를 확인하기 위해 JavaScript Promise 사양을 자세히 살펴보겠습니다. "Promise.all(iterable)" 섹션 내에서 반복 가능한 Promise를 단일 Promise로 해결하는 단계를 찾을 수 있습니다. 중요한 세부 사항은 해결된 각 Promise에 대해 내부 [[Index]] 슬롯을 생성하는 4e단계에 있습니다. 이 슬롯은 원래 입력 배열의 Promise 인덱스를 명시적으로 표시합니다.
따라서 Promise.all 구현은 여러 Promise를 동시에 해결할 때 입력의 Promise 순서에 따라 출력이 엄격하게 정렬되도록 보장합니다. 정렬. 이 순서 보존은 입력 배열이 일관된 순서(예: 배열)를 유지하는 한 적용됩니다.
이를 설명하려면 다음 코드를 고려하세요.
<code class="js">const somePromises = [1, 2, 3, 4, 5].map(Promise.resolve); Promise.all(somePromises).then(function(results) { console.log(results); // Expected result: [1, 2, 3, 4, 5] });</code>
이 코드가 실행되면 해결된 값은 somePromises 배열의 Promise 순서대로 콘솔에 기록됩니다. Promise.all의 주문 보존 기능을 보여줍니다.
위 내용은 `Promise.all`은 확인된 값의 순서를 유지합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!