promise中调用reject,后面的then方法还会执行?

多个异步操作,如果中间出现reject后面应该不会再执行,
为什么下面代码中第二个then函数还会执行?

function getJson(idx){

    return new Promise(function(resolve,reject){

        setTimeout(function(){

            var random = Math.floor(Math.random() * 1000);

            console.log('success'+random); 

            reject(random);

        },1000)

    })

}



getJson(13).then(function(){

     return getJson(14);

},function(){

    console.log(arguments)

    return "adas";

}).then(function(){

    return  getJson(15);

}).then(function(){

    return  getJson(16);

})


LEATH
浏览 6742回答 2
2回答

遗失的美好灬

这个reject不会被下面的then()捕获,你想层层下使用,请使用throw new Error('错误') ,then会自动捕获异常
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript