ES6 Promise对象学习笔记

Promise 是ES6中新增的异步编程解决方案,体现在代码中它是一个对象,可以通过Promise构造函数来实例化

进程的三种状态
graph LR
Pending进行中-->Resolved已完成
Pending进行中-->Rejected已失败
两个原型方法
  1. Promise.prototype.then()
  2. Promise.prototype.catch()
简单实例
let action = new Promise(function(resolve,reject){
  //code
  //也就是你要执行的代码


  if(//根据自己执行的代码结果来添加判断条件){
      resolve(//自己要添加的参数);
  }else{
      reject(//自己要添加的参数);
  }
})

action.then(function(value){
    //执行成功操作
}).catch(function(val){
    //执行失败操作
})
常用的静态方法

Promise.all() 可以将多个Promise实例包装成一个新的Promise实例,且当所有Promise实例的状态都变成resolved,Promise.all 的状态才会变成resolved,此时返回值组成一个数组,传递给then中的resolve函数.只要有一个rejected的,那么Promise.all的状态就会变成rejected,此时第一个被reject的实例的返回值会被传递给Promise的回调函数

function con(str){
    const action = new Promise(resolve,reject){
        console.log(str);
        if(String(str).length > 5){
            resolve(str)
        }else{
            reject(new Error('prama is String and long than 5'))
        }
    })
    return action;
}
let actions = Promise.all([con('aaaaaa'),con('bbbbbbbb')]);

actions.then(function(data){
    console.log('success');
    console.log(data)
}).catch(function(err){
    console.log(err);
})

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值