오늘 우리가 논의할 새로운 기능은 ES6의 가장 놀라운 기능이기 때문에 정말 기대됩니다.
Promise 객체는 비동기 프로그래밍을 위한 솔루션입니다. 소위 Promise는 단순히 미래에 종료될 수 있는 이벤트의 결과를 포함하는 컨테이너입니다.
Promise에는 보류, 이행, 거부의 세 가지 상태가 있습니다.
전시는 보류 상태에서 이행 상태로, 보류 상태에서 거부 상태로 표시됩니다.
다음은 Promise 인스턴스의 생성입니다
下面是一个Promise实例的生成
// es5 写法 const promise = new Promise(function(resolve, reject) { if (/*这里填写操作(一般是异步操作)*/) { resolve(value); } else { reject(error) } })
// es6 写法,以后默认使用es6语法 const promiseEs = new Promise((resolve, reject) => { if (/*操作*/) { resolve(value); } else { reject(error); } })
操作部位一般是一个异步方法,resolve和reject是es6官方给的方法可以获取到操作部位的返回结果
promise的使用
promise.then((value) => { console.log("success" + value); }, (error) => { console.log("error" +error); })
then方法接受两个回调函数作为参数,第一个方法在Promise对象状态从pending变为fulfilled时调用,第二个方法在状态从pending变为rejected时候调用。
另外 上面的使用方法可以写成类似于try/catch的形式,将rejected时的处理剥离出来放到catch里面处理。 promise的使用2
promise.then((value) => { console.log("success" + value); }).catch((error) => { console.log("error" +error); })rrreee작업 부분은 일반적으로 비동기 메서드입니다. 해결 및 거부는 작업 부분의 반환 결과를 얻는 es6의 공식 메서드입니다
promise
rrreeethen 메소드는 두 개의 콜백 함수를 매개변수로 허용합니다. 첫 번째 메소드는 Promise 객체 상태가 보류에서 이행으로 변경될 때 호출되고, 두 번째 메소드는 상태가 다음에서 변경될 때 호출됩니다. 거부 대기 중입니다. 또한, 위의 사용법은 try/catch와 유사한 형태로 작성할 수 있으며, 거부된 처리는 제거되어 catch에 배치됩니다.
Promise 2 사용
rrreee 관련 권장 사항:
🎜ES6_javascript 기술의 새로운 기능 개요🎜🎜🎜🎜ES6의 JavaScript Generator에 대한 자세한 설명_기본 지식🎜🎜위 내용은 ES6의 Promise 객체 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!