欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ES6之Promise对象介绍

程序员文章站 2022-05-14 10:35:48
es6之promise对象 首先,文章内容基本来自ecmascript 6 入门(作者 阮一峰) 简介 promise对象是异步的一种解决方案。所谓promise,简单来说就是一种容器,里面包含着...

    es6之promise对象
    首先,文章内容基本来自ecmascript 6 入门(作者 阮一峰)

    简介

    promise对象是异步的一种解决方案。所谓promise,简单来说就是一种容器,里面包含着未来可能结束的一个事件的结果。
    promise包含三种状态,pending,fulfilled,rejected。
    表现为从pending到fulfilled,或者从pending到rejected。

    下面是一个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);
        })