首页 > 其他 > 详细

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

时间:2020-11-21 22:36:07      阅读:50      评论:0      收藏:0      [点我收藏+]

对照组

    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实例对象,后面的链式调用被阻断)

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

原文:https://www.cnblogs.com/xjt31/p/14017033.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!