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

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.

主站蜘蛛池模板: 错那县| 虞城县| 丰都县| 临高县| 临洮县| 北安市| 仙桃市| 揭东县| 天柱县| 桑植县| 贞丰县| 怀化市| 古丈县| 巴中市| 眉山市| 瓮安县| 威信县| 洛隆县| 贵州省| 九寨沟县| 乌兰察布市| 临清市| 驻马店市| 天等县| 镇沅| 聂荣县| 德清县| 新巴尔虎右旗| 醴陵市| 蒙阴县| 巨野县| SHOW| 井研县| 林芝县| 确山县| 临海市| 昭苏县| 弋阳县| 柯坪县| 翁牛特旗| 三都|