es6 약속은 무엇을 의미합니까?

WBOY
풀어 주다: 2022-05-05 14:37:56
원래의
3601명이 탐색했습니다.

es6에서 promise는 "약속"을 의미합니다. Promise는 비동기 작업의 결과를 나타냅니다. 코드에서 객체로 표현되며 주로 콜백 영역의 문제를 해결하는 데 사용됩니다. 구문은 "new Promise(함수(해결, 거부){..})"입니다.

es6 약속은 무엇을 의미합니까?

이 튜토리얼의 운영 환경: Windows 10 시스템, ECMAScript 버전 6.0, Dell G3 컴퓨터.

es6에서 promise는 무엇을 의미하나요?

promise는 promise를 의미합니다. 그 뒤에 있는 핵심 아이디어는 promise가 비동기 작업의 결과를 나타낸다는 것입니다.

은 코드에서 객체로 표현되는 es6의 새로운 비동기 프로그래밍 솔루션입니다.

Promise는 js 비동기 프로그래밍에서 제공하는 솔루션으로 주로 콜백 영역 문제를 해결하는 데 사용됩니다.

Promise에는 세 가지 상태가 있습니다. 즉,

  • Pending(진행 중) 초기 상태

  • Fulfilled(성공)는 작업이 성공했음을 의미하고

  • rejected(실패)는 작업이 실패했음을 의미합니다.

참고: Promise 객체의 세 가지 상태는 외부 세계의 영향을 받지 않습니다. 향후 종료될 Promise에 저장된 이벤트만 영향을 받습니다. 즉, 비동기 작업의 결과만 현재 상태를 결정할 수 있으며 다른 작업은 이 상태를 변경할 수 없습니다. Promise 상태가 변경되면 Pending(진행 중) 상태가 Fulfilled로 변환될 수 있습니다. (성공) 상태입니다.

보류(진행 중) 상태는 거부(실패) 상태로 변경될 수 있습니다.

Promise는 이 두 가지 상황에서만 상태를 변경하며 상태는 확정됩니다. 항상 유지하십시오.

기본 사용법

구문:

new Promise( function(resolve, reject) {...} /* executor */  )
로그인 후 복사
원리:

Promise 객체를 생성할 때 실행기 함수를 전달해야 하며 주요 비즈니스 프로세스는 실행기 함수에서 실행됩니다.

실행자 함수는 Promise 생성자가 실행될 때 즉시 호출됩니다. 해결 및 거절

함수는 실행자에 매개변수로 전달됩니다. 해결 및 거절

함수가 호출되면 약속의 상태가 이행으로 변경됩니다. 또는 거부됨(실패). 한번 상태가 변하면 다시는 변하지 않으며, 이 결과는 언제든지 얻을 수 있습니다.

executor 함수에서 해결 함수를 호출한 후 promise.then에서 설정한 콜백 함수가 실행되고, Reject

함수를 호출한 후 promise.catch에서 설정한 콜백 함수가 실행됩니다.

아래 그림과 같이:

예제는 다음과 같습니다.

es6 약속은 무엇을 의미합니까?

새 Promise 객체 생성


콜백 함수에는 해결(resolve)을 나타내는 2개의 매개변수가 있습니다. ) 및 거부(reject) ), 두 매개변수 모두 함수입니다.

두 매개변수 모두 호출되지 않으면 기본 보류 상태

let promise=new Promise(function(resolve,reject){
});//pending状态
로그인 후 복사

는 Promise 상태를 나타내는 해결 함수를 호출하고 거부 함수는 보류==에서 호출됩니다. >fulfilled

let promise=new Promise(function(resolve,reject){
resolve();
});//fulfilled状态
로그인 후 복사

, Promise의 상태가 보류 중==>rejected

let promise=new Promise(function(resolve,reject){
reject();
});//rejected 状态
로그인 후 복사

에서 변경됨을 나타냅니다.[관련 권장 사항:

javascript 비디오 튜토리얼

,

웹 프론트 엔드

]

위 내용은 es6 약속은 무엇을 의미합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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