如何解决在异步功能中等待而无需尝试赶上mongo db
我在我的Web应用程序中使用了Sails JS和mongo db。 我的代码工作正常。但是我有一个疑问。
我的数据库语句如下:
var a = await users.create({username:username,id:id}).fetch();
不要试图抓住。没有错误处理。 在我的本地主机上运行正常。如果我转到生产环境,会造成问题吗?
解决方法
任何有可能拒绝的承诺都必须具有某种类型的错误处理程序。如果不这样做,就会遇到该错误,那么您的JS实质上将崩溃,并带有未处理的异常。
不以某种方式处理任何可能的错误只是不好的编程。您应该捕获该错误,将其记录下来,并从可能发起此调用的任何http请求返回某种错误状态。
没有错误处理。在我的本地主机上运行正常。
当然,只要数据库调用没有错误,它就可以正常工作。如果发生某种数据库错误,您会期望发生什么?您要服务器崩溃吗?您知道服务器崩溃了是什么原因吗?您的用户会收到任何有关问题的反馈吗?
如果我转投生产,那会带来问题吗?
当然可以。如果此调用的数据发生了什么事,或者您的数据库发生了什么事而导致错误,那么您的服务器可能会崩溃,并且无论发起了什么http请求,都将永远不会得到响应。
不以某种方式处理服务器中所有可能的错误只是糟糕的编程。这是常见的捷径或对细节的关注,但这总是一个错误。作为不参与高级代码开发的高级开发人员,这是代码审查失败的原因,需要进一步注意正确的错误处理。
,否,这不会引起问题,但是如果在执行此过程时遇到错误,您将如何想象自己在应用程序中的许多地方都这样做了,并且有一些令人困惑的问题困扰着您,您将如何知道其来源?
所以您需要这样做以进行更多的错误处理!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。