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

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.

主站蜘蛛池模板: 上饶县| 辉县市| 古田县| 福建省| 苏尼特左旗| 滨州市| 汉沽区| 卢龙县| 白水县| 屏山县| 阿城市| 渭源县| 灵石县| 隆安县| 逊克县| 汉源县| 巨鹿县| 东乡族自治县| 蚌埠市| 栖霞市| 乾安县| 绿春县| 水城县| 威宁| 玛曲县| 尤溪县| 黔江区| 开鲁县| 封开县| 承德县| 盐源县| 芜湖市| 藁城市| 彭阳县| 望奎县| 凤庆县| 岚皋县| 新竹县| 高雄市| 武夷山市| 克拉玛依市|