leiyanting

导航

 
promise 异常传透
  (1) 当使用 promise 的 then 链式调用时, 可以在最后指定失败的回调,
 
  (2) 前面任何操作出了异常, 都会传到最后失败的回调中处理
 
 
向如下这种情况.第一个then回调返回的是失败状态,但是因为有异常穿透的特性,所以只需要在末尾有catch回调即可
        let p = new Promise((resolve, reject) => {
            setTimeout(() => {
                resolve('OK');
                // reject('Err');
            }, 1000);
        });

        p.then(value => {
            // console.log(111);
            throw '失败啦!';
        }).then(value => {
            console.log(222);
        }).then(value => {
            console.log(333);
        }).catch(reason => {
            console.warn(reason);
        });

 

posted on 2021-10-12 19:52  leiyanting  阅读(269)  评论(0编辑  收藏  举报