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学习指路:
推荐操作环境:windows7系统、jquery3.2.1版本,DELL G3电脑。
Copyright © 2019- huatuo9.cn 版权所有 赣ICP备2023008801号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务