>  기사  >  웹 프론트엔드  >  ES6의 Promise 객체 소개

ES6의 Promise 객체 소개

坏嘻嘻
坏嘻嘻원래의
2018-09-14 14:11:181434검색

오늘 우리가 논의할 새로운 기능은 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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