官术网_书友最值得收藏!

Best practices to handle exceptions in promise

Promise provides an impressive way to handle exceptions. Exception handling in promise is quite simple and easy to implement, and almost all libraries and implementations support a generic way of implementation. Here are some of best practices to deal with exceptions:

Make your exceptions meaningful

To maximize performance and maintainability, throw understandable errors. The best practice is to reject a promise and reject it with an error instance. Make it a habit not to reject an error object or primitive values.

Monitor, anticipate, and handle exception

Keep an eye on the effects of errors on the flow of execution. The best practice for doing this is to anticipate failures in your handlers. The better you are at anticipation, the better will be your control over the flow of execution. Always think whether your rejection handler should be invoked by failures in the resolution handler, or if there should be a different behavior.

Keep it clean

When you are done dealing with exception, start CleanUp as soon as the error occurs. When the chain of promises is processed and a result has been delivered in either rejected or fulfilled state, terminate the chain and clean up the unused thread. This will help in not only optimizing the throughput of code, but also creating manageable outputs.

Mozilla has its own implementation for handling errors in promise, which can be seen at https://developer.mozilla.org/en-US/docs/Mozilla/JavaScript_code_modules/Promise.jsm/Promise.

主站蜘蛛池模板: 郓城县| 夏津县| 巴马| 维西| 凌海市| 长武县| 宁国市| 鄯善县| 铁岭市| 杭锦后旗| 洛浦县| 来安县| 静安区| 三门县| 石阡县| 乡城县| 阳春市| 分宜县| 龙山县| 青田县| 湖口县| 普安县| 沙河市| 永胜县| 阳高县| 邯郸市| 安泽县| 庄河市| 长海县| 保山市| 韩城市| 林州市| 常州市| 玉林市| 金阳县| 武乡县| 仪征市| 孟村| 苏尼特右旗| 长春市| 聊城市|