繁体   English   中英

最佳实践-Node JS错误处理+后备

[英]Best Practice - Node JS Error Handling + Fallbacks

我有一个场景,其中有来自移动设备上用户的图像和一些附带数据。 我正在使用Amazon Web Services,其想法是将图像存储在S3中,并将数据存储到数据库表中。

我正在使用Node JS处理这些数据。

要将图像存储到S3上,我正在使用AWS开发工具包。 要将记录存储到MySQL中,我正在使用“ mysql” NPM软件包。

问题

确保这两个事件顺利进行的最佳实践方法是什么;如果没有,确保没有任何事情发生。 因此,让我们想象一下S3 putObject已完成并且没有错误,但是MySQL插入已超时。

解决方案

我可以提出很多-过去所做的。 真正的问题是我认为的最佳实践,在研究了堆栈溢出之后,我似乎无法找到解决该问题的好方案或最佳实践:

“当一个功能涉及两个或多个(可能容易出错)远程依赖项时,处理错误的最佳方法是什么?”

我只是想知道是否有人对此有答案?

谢谢大家

好的问题,最佳实践是使用异步触发。 这只是意味着,不要执行此操作,或者在事件触发之前准予执行此操作。在节点领域中,使用事件包是自定义事件流的一种方法。 只需手动创建一个事件,然后侦听某个响应,然后执行相应的操作,即可确保仅执行您想要的操作。最好的方法是使用承诺的概念,承诺为执行,编写,与传统的基于回调的方法相比,它可以管理和管理异步操作。 它们还允许您使用类似于同步try / catch的方法来处理异步错误。 尝试将bluebird用于节点。 https://alexperry.io/node/2015/03/25/promises-in-node.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM