【发布时间】:2014-11-18 18:56:57
【问题描述】:
我不确定这是否是一个纯粹的 stackoverflow 相关问题。它与一般设计实践有关。由于我想不出另一个相关的堆栈交换站点,所以在这里发布。
在将异步调用转换为同步调用的一般设计实践中,我们使用超时并等待结果。虽然从响应性的角度来看,这可能不是一个好的实践,但它确实使实现更容易。
我见过很多这样的实现,并且经常注意到开发人员倾向于给出一个非常小的超时值。我可以理解人们在这样做时可能需要一个响应式系统。但是我见过的许多应用程序都是数据非常关键的应用程序,其中数据丢失非常严重。因此,最好等待更多时间并尝试获取尽可能多的数据,而不是提前超时并向用户提供错误消息。现在,服务器无法提供数据或客户端无法访问服务器等情况已经很少见了。在这些情况下,我预计此类等待会出现很大的超时。毕竟,这些超时并不意味着等待一定会持续到给定的超时值;超时值只是一个上限。所以,我一直在这里主张更高的价值。但是我看到在越来越多的地方使用低值,现在我很困惑,如果这种做法真的有其他我不理解的地方。
所以,我的问题是:除了需要响应性来实现非常小的等待超时之外,还有什么论据吗?
【问题讨论】:
-
您认为什么是非常小的超时?
-
@svick :这取决于具体情况。我只是想知道在决定暂停时的一般权衡。是什么阻止人们使用大超时?
标签: asynchronous timeout async-await