es6에서 promise는 "약속"을 의미합니다. Promise는 비동기 작업의 결과를 나타냅니다. 코드에서 객체로 표현되며 주로 콜백 영역의 문제를 해결하는 데 사용됩니다. 구문은 "new Promise(함수(해결, 거부){..})"입니다.
이 튜토리얼의 운영 환경: Windows 10 시스템, ECMAScript 버전 6.0, Dell G3 컴퓨터.
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에서 설정한 콜백 함수가 실행됩니다.
아래 그림과 같이:
예제는 다음과 같습니다. 새 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!