中断promise链式调用(中间返回一个pendding状态的promise)

对照组

    new Promise((resolve, reject) => {
        reject(1) //失败状态
      })
      .then(value => {
        console.log('成功', value);
      }, reason => {
        console.log('失败', reason); // 失败 1,没有返回值;                               
      })                            //默认返回一个成功状态、默认值为undefined的promise实例对象
      .then(value => {
        console.log('成功hhh', value);
      }, reason => {
        console.log('失败', reason);
      })

    //打印结果
    // 失败 1
    // 成功hhh undefined

实验组

 //中断promise(中间返回一个pendding状态的promise)
    new Promise((resolve, reject) => {
        reject(1) //失败状态
      })
      .then(value => {
        console.log('成功', value);
      }, reason => {
        console.log('失败', reason); // 失败 1
        return new Promise(function (res, rej) {
          //返回一个pendding状态的promise,中断后面的链式调用 (比对照组在这里增加一个返回状态为pendding的promise实例对象)
        })
      })
      .then(value => {
        console.log('成功hhh', value);
      }, reason => {
        console.log('失败', reason);
      })

    //打印结果
    // 失败 1 (由于中间增加一个返回状态为pendding的promise实例对象,后面的链式调用被阻断)
原文地址:https://www.cnblogs.com/xjt31/p/14017033.html