美文网首页
ES6之Promise对象

ES6之Promise对象

作者: 芒僧 | 来源:发表于2017-04-02 11:33 被阅读0次

能够用到很多异步处理的回调函数之中,而且支持链式调用,主要是pending/resolved/rejected这三个状态。

创建Promise对象

let myObj = new Promise(fucntion(resolve,reject){})

里面可以改变promise的状态

通过resolve(data)表示进程成功

通过reject(error)表示进程失败

回调函数

then方法支持两个回调函数,第一个是接受来自resolved里的数据,第二个是接受rejected里的数据,做回调函数处理

``

    let myFunc = function(){
            let helo = new Promise(function(resolve,reject){
            if()
                resolve(data);
            if()
                reject(error);
        })
        
        return helo //千万记得return出去,不然外面没监听到
    }
    
    myFunc().then(function(data){..},funcion(error){})
    //支持链式调用,可以在then再次调用then,第二个then会接受第一个then里面的函数值作为参数逐步往下
    //可以将其看作一个二叉树 一边是resolved,一边是rejected

错误捕捉

catch()then(null,function(){})的别名,用于指定发生错误时的回调函数

可以在Promise对象中 throw new Error('wrong code'),然后在catch()中可以wrong code被捕捉到

包装多个Promise

Promise.all(promise1,promise2,promise3) 必须等到多个Promise对象的状态均改变后,Promise.all才会改变状态

Promise.race(p1,p2,p3) 当一个Promise对象改变后,Promise.race()的状态就会改变

改造为Promise对象

let hello =  promise.resolve();
...
p.then(()=>{
    ...your code
})

同理 可以使用 p.catch()
常用链式调用
--

.done() done方法处于回调链的尾端,保证抛出任何可能出现的错误

.finally()用于指定不管Promise对象最后状态如何都会执行的操作,可用于清除变量或者做一些善后的操作

相关文章

  • Promise对象原理解析

    Promise对象原理解析 ES6 原生提供了 Promise 对象。所谓 Promise,就是一个对象,用来传递...

  • Promise.done(),Promise.finally()

    es6 Promise.done(),Promise.finally()promise对象的finally函数为什...

  • ES6--Promise

    学过ES6的同学大概都知道Promise,可想而知Promise在ES6中很重要。 Promise对象代表了未来将...

  • ECMAScript 6 Promise

    ES6 规定,Promise对象是一个构造函数,用来生成Promise实例。 Promise对象有以下两个特点。 ...

  • ES6 Promise 对象

    参考文档: 《ECMAScript 6 入门》:Es6 APi Promise对象 《Es6 Prom...

  • 教你如何使用ES6的Promise对象

    Promise对象,ES6新增的一个全新特性,这个是 ES6中非常重要的一个对象 Promise的设计初衷 首先,...

  • Promise 特性整理总结及心得用法

    Promise对象 特性 Promise为es6标准语法,主要用于解决异步回调问题,Promise 对象可分为三种...

  • ES6必知必会 (五)—— Promise 对象

    Promise 对象 1.Promise对象是ES6对异步编程的一种解决方案,它有以下两个特点: Promise对...

  • Promise

    es6中有个特别的对象Promise,今天我们就来学习它,了解它。 Promise含义 Promise 是异步编程...

  • Promise简单使用

    ES6原生提供了Promise对象。所谓Promise,就是Node中的一个对象,用来传递异步操作的消息。 Pro...

网友评论

      本文标题:ES6之Promise对象

      本文链接:https://www.haomeiwen.com/subject/uhhgottx.html