美文网首页
Promise对象

Promise对象

作者: 萍水相逢hu | 来源:发表于2017-09-06 18:04 被阅读0次

    参考文章

    Promise 用于处理异步调用的返回值

    语法

    new Promise(function(resolve,reject){ })
    

    Promise构造器的参数是function类型,该function有两个为方法类型的参数,resolve和reject,如果调用了resolve说明该Promise被成功解析,而当调用了reject时,表明该Promise的值不能用于后续处理也就是被拒绝了。这两个方法主要用于初始化异步调用代码,一旦异步代码调用完成,要么调用resolve方法表示promise被成功机械,要么调用reject方法表明Promise被拒绝。

    then(成功回调函数,失败回调函数)

    pending状态的Promise对象可能被填充了(fulfilled)值,也可能被某种理由(异常信息)拒绝(reject)了。当其中任一种情况出现时,Promise对象的then方法绑定的处理方法(handlers )就会被调用(then方法包含两个参数:onfulfilled和onrejected,它们都是Function类型。当值被填充时,调用then的onfulfilled方法,当Promise被拒绝时,调用then的onrejected方法, 所以在异步操作的完成和绑定处理方法之间不存在竞争)

    基本用法

    function doThings(){
         return new Promise(function(resolve,reject){
              setTimeout(function(){
                   resolve('成功')
             },0) 
         })
    }
    
    doThings().then(function(res){console.log(res)})  //输出  -  ‘成功’
    

    链式用法

    function doThings1(){
         return new Promise(function(resolve,reject){
              setTimeout(function(){
                   resolve('成功1')
             },0) 
         })
    }  
    
    function doThings2(m){
         return new Promise(function(resolve,reject){
              setTimeout(function(){
                   resolve(m)
             },0) 
         })
    }
    
    doThings1().then(function(res){return doThings2(res)}).then(function(res){ console.log(res)})
    

    相关文章

      网友评论

          本文标题:Promise对象

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