
1、在promise的then方法中,已经自动帮助我们try catch回调函数。
Promise.prototype.then=function(cb){
try{
cb()
}catch(e){
//todo
reject(e)
}
}
2、then方法中抛出的异常,将被下一级联then方法的第二个参数捕获。
Promise.prototype.done=function(resolve,reject){
this.then(resolve,reject).catch(function(reason){
setTimeout(()=>{
throwreason;
},0);
});
};
如果最后一个then有异常,可以添加一个done方法,这个方法不会返回promise对象,所以之后不能级联。done方法最终会将异常抛向全局,这样就可以被全局的异常处理函数捕获或中断线程。这也是promise的最佳实践策略。
以上就是javascript中Promise的异常捕获用法,希望对大家有所帮助。更多Javascript学习指路:Javascript
原文来自:https://www.py.cn© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END

















































暂无评论内容