JavaScript Promise.race() 메서드

Javascript Promise Race Meseodeu



Promise.race() 메서드는 반복 가능한 약속을 인수로 사용하고 해결되거나 거부된 첫 번째 약속을 반환하는 JavaScript의 내장 메서드입니다. Promise.race() 메서드는 이행 값 또는 거부 사유를 반환합니다. Iterable은 Arrays, Strings, Maps와 같이 반복될 수 있는 객체입니다.

어쨌든 약속은 무엇입니까?

비동기 코드는 약속을 처리할 수 있습니다. 그들은 매개변수로 실행자로 알려진 기능을 취합니다. Promise가 생성되면 Executor는 자동으로 비동기식으로 실행되고 이행된 경우 값을 반환하고 그렇지 않으면 거부 이유를 반환합니다.

예제_약속하자 = 새로운약속 ( ( 해결하다, 거절하다 ) => {
해결하다 ( '약속이 풀렸다' ) ;
} ) ;

example_약속. 그 다음에 ( 아르 자형 => 콘솔. 통나무 ( 아르 자형 ) ) ;







프라미스의 비동기적 특성:



예제_약속하자 = 새로운약속 ( ( 해결하다, 거절하다 ) => {
해결하다 ( '약속이 풀렸다' ) ;
} ) ;

example_약속. 그 다음에 ( 아르 자형 => 콘솔. 통나무 ( 아르 자형 ) ) ;
콘솔. 통나무 ( '1,2,3...' ) ;



Promise.race() 메서드를 사용하는 방법?

Promise.race() 메서드에 반복 가능한 약속을 전달하고 변수에서 반환 값을 가져옵니다.





무도회 1 = 새로운약속 ( ( 해결하다, 거절하다 ) => {
setTimeout ( ( ) => 해결하다 ( '약속이 풀렸다' ) , 500 ) ;
} ) ;

무도회 2 = 새로운약속 ( ( 해결하다, 거절하다 ) => {
setTimeout ( ( ) => 거부하다 ( '약속 못 풀었다' ) , 250 ) ;
} ) ;

온도를 보자 = 약속하다. 경주 ( [ 무도회 1, 무도회 2 ] ) ;

온도 잡다 ( 이유 => 콘솔. 통나무 ( 이유 ) ) ;

이 예에서 우리는 두 가지 약속을 했습니다. 첫 번째 약속은 500ms 후에 해결되었고 두 번째 약속은 250초 후에 바로 거부되었습니다. 두 번째 약속은 해결되거나 거부된 첫 번째 약속이므로 Promise.race() 메서드에 의해 반환되었습니다.



Promise.race() 메서드에 전달된 인수가 빈 iterable이면 메서드는 영원히 보류 중인 약속을 반환합니다.

온도를 보자 = 약속하다. 경주 ( [ ] ) ;

콘솔. 통나무 ( 온도 ) ;

iterable 인수에 이미 이행되거나 거부된 약속이 아닌 값이나 약속이 있는 경우 이 메서드는 배열의 첫 번째 값으로 해결됩니다.

p1하자 = 새로운약속 ( ( 해결하다, 거절하다 ) => {
해결하다 ( 'P1이 해결되었습니다' ) ;
} ) ;

p2하자 = 새로운약속 ( ( 해결하다, 거절하다 ) => {
해결하다 ( 'P2가 해결되었습니다' ) ;
} ) ;

온도를 보자 = 약속하다. 경주 ( [ p1, p2 ] ) ;
온도 그 다음에 ( => 콘솔. 통나무 ( ) ) ;

Promise.race() 메서드는 해결된 약속과 거부된 약속을 모두 확인합니다. 이 메서드에는 또한 이행된 약속을 확인하는 데 사용할 수 있는 Promise.any() 메서드가 있습니다.

결론

Promise.race() 메서드는 반복 가능한 약속에서 이행되거나 거부된 첫 번째 약속을 얻는 데 사용됩니다. 가장 먼저 이행되거나 거부된 약속은 Promise.race()의 반환 값입니다. 이 글은 Promise.race() 메서드에 대한 심층적인 통찰력을 제공했습니다.