关于promise的一个小问题

初学promise,有个地方没有理解,想请教下各位大大。:
代码如下,我的问题是为什么我在定时器里面手写了一个未定义的错误,它会导致控制台直接报错了,而不是说拒绝然后输出2?而如果我是reject()直接拒绝,控制台就不会报错,而如果不是在定时器里面手写,而是在外面手写,也是正常的。
var p = new Promise(function(resolve, reject) {
    setTimeout(function () {
        b++;
    },1000);
    //b++;
});
p.then(function(){
    console.log(1);
},function(){
    console.log(2);
});
全部评论
定时的promise 和在promise里定时是不同的
点赞 回复 分享
发布于 2017-06-08 20:33
你的Promise內的错误,你要自己在传入的处理函数中捕获然后处理。例如,这里的b未声明的错误。
点赞 回复 分享
发布于 2017-06-08 20:34

相关推荐

德勤 后端 OC 实习140/天,转正税前7k
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务