这篇文章主要讲解了“javascript中Promise异常捕获的实例用法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“javascript中Promise异常捕获的实例用法”吧!
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(() => {
throw reason;
}, 0);
});
};
如果最后一个then有异常,可以添加一个done方法,这个方法不会返回promise对象,所以之后不能级联。done方法最终会将异常抛向全局,这样就可以被全局的异常处理函数捕获或中断线程。这也是promise的最佳实践策略。
感谢各位的阅读,以上就是“javascript中Promise异常捕获的实例用法”的内容了,经过本文的学习后,相信大家对javascript中Promise异常捕获的实例用法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是天达云,小编将为大家推送更多相关知识点的文章,欢迎关注!