美文网首页
es6 promise使用

es6 promise使用

作者: 希染丶 | 来源:发表于2019-07-27 17:34 被阅读0次

    1.写法

    // 定义一个promise
    let promise = new Promise(function(reslove,reject){
      if(true){
         reslove(参数)
      }else{
          reject(参数)
      }
    })
    
    // 调用
    promise.then(function(reslove传来的参数){
        
    }).catch(function(reject传来的参数){
      
    })
    //catch可以捕获前面的错误
    或
    promise.then(function(reslove传来的参数){
        
    }),function(reject传来的参数){
      
    }
    // function捕获前面的错误
    
    

    2.多个promise调用

    let a = new Promise(function(reslove,reject){
      reslove()
    })
    let b = new Promise(function(reslove,reject){
      reslove()
    })
    
    a
    .then(b)
    

    3.多个promise,都完成了才执行回调(all方法)

    let p = Promise.all([p1,p2,p3],function(val){
      // value值为三个promise返回的参数数组
    })
    

    如果这个三个promise, 某一个状态为reject,那么val为该promise,reject方法带的参数
    p的状态也为reject

    4.多个promise,哪个先完成,用哪个(race方法)

    let p = Promise.race([p1,p2,p3],function(val){
      // value值为先完成的promise返回的参数
    })
    p的状态也变成先完成的promise的状态
    

    相关文章

      网友评论

          本文标题:es6 promise使用

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