>  기사  >  웹 프론트엔드  >  약속에는 어떤 기능이 있나요?

약속에는 어떤 기능이 있나요?

DDD
DDD원래의
2023-11-01 13:40:161158검색

Promise 함수에는 Promise 생성자, 함수, catch 함수, 마지막 함수, 모든 함수, 경쟁 함수 등이 포함됩니다. 자세한 소개: 1. 함수를 매개변수로 받아들이는 Promise 생성자. 이 함수에는 두 개의 매개변수(Resolve 및 Reject)가 있습니다. 2. Promise 상태가 변경될 때 콜백 함수를 지정하는 데 사용되는 함수입니다. 지정된 Promise 등에 오류가 발생한 경우의 콜백 함수입니다.

약속에는 어떤 기능이 있나요?

이 튜토리얼의 운영 체제: Windows 10 시스템, Dell G3 컴퓨터.

Promise는 비동기 작업을 처리하는 데 사용되는 JavaScript의 개체입니다. 콜백 지옥 문제를 피하면서 비동기 코드를 처리하는 보다 우아하고 안정적인 방법을 제공합니다. 다음은 Promise에서 일반적으로 사용되는 여러 함수입니다.

Promise 생성자: Promise 생성자는 두 개의 매개 변수, 즉 해결 및 거부가 있는 함수를 매개 변수로 허용합니다. Resolve 함수는 Promise 상태를 보류에서 이행으로 변경하고 결과를 후속 then 함수에 전달하는 데 사용됩니다. Reject 함수는 Promise 상태를 보류 중에서 거부됨으로 변경하고 오류 정보를 후속 catch 함수에 전달하는 데 사용됩니다.

then 함수: then 함수는 Promise 객체의 메서드로, Promise 상태가 변경될 때 콜백 함수를 지정하는 데 사용됩니다. then 함수는 성공 시 콜백 함수와 실패 시 콜백 함수라는 두 개의 매개변수를 받습니다. 성공 시 콜백 함수는 Promise의 반환 값을 매개변수로 받고, 실패 시 콜백 함수는 오류 메시지를 매개변수로 받습니다.

catch 함수: catch 함수는 Promise 개체의 메서드로 Promise에서 오류가 발생할 때 콜백 함수를 지정하는 데 사용됩니다. catch 함수는 오류 발생 시 콜백 함수인 하나의 매개변수를 허용합니다. then 함수의 두 번째 매개변수와 동일합니다.

finally 함수: finally 함수는 Promise 개체의 메서드로, Promise의 성공 또는 실패 여부에 따라 실행될 콜백 함수를 지정하는 데 사용됩니다. finally 함수는 매개변수를 허용하지 않습니다.

all 함수: all 함수는 Promise 객체의 정적 메서드로, 여러 Promise 객체를 새 Promise 객체로 래핑하는 데 사용됩니다. 모든 Promise가 이행되면 새로운 Promise 객체가 이행되고 모든 Promise의 반환 값이 배열로 then 함수에 전달됩니다. Promise가 거부되면 새 Promise 객체도 즉시 거부되고, 처음으로 거부된 Promise의 오류 정보가 catch 함수에 전달됩니다.

race 함수: race 함수는 Promise 객체의 정적 메서드입니다. all 함수와 마찬가지로 여러 Promise 객체를 새로운 Promise 객체로 래핑합니다. 그러나 차이점은 Promise가 경쟁 함수에서 이행 또는 거부 상태로 변경되는 한 새 Promise 객체는 해당 상태로 변경되고 첫 번째 완료된 Promise의 반환 값이나 오류 정보가 전달된다는 것입니다. 후속 then 또는 catch 기능.

다음은 Promise에서 일반적으로 사용되는 몇 가지 함수로, 이를 통해 비동기 작업을 보다 편리하게 처리하여 코드를 더욱 간결하고 읽기 쉽게 만듭니다. 물론 Promise에는 해결 기능, 거부 기능, allSettled 기능 등과 같은 실제 필요에 따라 사용할 수 있는 다른 기능도 있습니다.

위 내용은 약속에는 어떤 기능이 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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