Promise

 首先promise是一个对象主要用于对异步的处理


1.Promise返回三种状态 pending (异步操作未完成) (fulfilled)异步操作成功  (rejected)异步操作失败

pending状态只能改变成为 fulfiled 或者 rejected


2.Promise 拥有两个属性  .race(顾名思义的来说就是赛跑)  .all(就是全部的意思)


一、Pomise.all的使用

Promise.all 可以将多个Promise实力包装成一个新的promise实例,同时,成功和失败的返回值是不同的,如果成功了之后就会输出所有被执行的结果  如果有reject就会立马返回失败的结果

let p1= new Promise((resolve,reject) => {

    setTimeout(() => {

        resolve('p111111')

    },1000)     

})

let p2= new Promise((resolve,reject) => {

    setTimeout(() => {

        resolve('p2222222')

    },2000)

})

//p1就会等着  p2 执行完一起输出

Promise.all([p1,p2]).then((result) => {

    console.log(result)   //  ['p111111','p2222222']

})


二、Promise.race的使用

race  英文翻译过俩就是赛跑的意思 几个函数 谁先执行完 打印谁

let p1 = new Promise((resolve,reject) => {

    setTimeout(() => {

        resolve('111111111')

    },1000)

})

let p2 = new Promise((resolve,reject) => {

    setTimeout(() => {

        resolve('2222222')

    },500)

})

 // 这里就是 谁先执行完 输出谁

Promise.race([p1,p2]).then((result) => {

    console.log(result)  //2222222

})

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容