promise详解

Promise 用法api

1.基本用法

   var i = 10;
    let ap1 = new Promise((resolve, reject) => {
      if (i > 10) {
        resolve("我是成功");
      } else {
        reject("我是失败的");
      }
    });
1.写法1
    ap1.then(
      res => {
        console.log(res); //我是成功"
      },
      err => {
        console.log(err);
      }
    );
2.写法2
 ap1.then(res => {
        console.log(res); //我是成功"
      })
      .catch(err => {
        console.log(err);
      });

3.写法3
  ap1.then(
      res => {
        console.log(res); //我是成功"
      },
      err => {
  //必写,不然报错
        console.log(err); 
      }
    );
//把catch抽离出来,
   ap1.catch(err => {
    console.log(err); 
    });

2.简便写法

  let p1;
    if (false) {
      p1 = Promise.resolve("成功1");
    } else {
      p1 = Promise.reject("失败2");
    }

    p1.then(
      res => {
        console.log(res);
      },
      err => {
        console.log(err);
      }
    );

Promise.all([]) Promise.race([])

  • 区别

Promise.all([]) 里面的成功返回 为数组
Promise.race([]) 第一个为正确返回 为字符串 只返回第一个

   let p1 = Promise.resolve("成功1");
    let p2 = Promise.resolve("成功2");
    Promise.all([p1]).then(
      res => {
        console.log(res);
        
      },
      err => {
        console.log(err);
      }
    );
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容