2009-12-14 94 views
2

这不一定是一个特定的Flex的问题,但我会在我的示例使用Flex:如何处理单个页面上的多个异步错误?

场景:我们有一个使用远程处理,使在单页上几个异步调用一个相当复杂的MVC Flex应用程序。有些电话是:

  • GetUserOrders
  • GetCurrentOrder
  • GetUserDetails

如果有网络或数据库错误,这将引发三个不同的错误信息给用户,需要三个“确定“点击。我们正在考虑收集单个数组中的所有错误消息,并在常见错误消息框中显示为列表。

什么是围绕一个页面正常处理多个异步错误的最佳实践 - 特别是当我们需要提醒用户存在错误时?

回答

0

对于网络或数据库错误,您可能会考虑编写一些捕获这些错误的代码,只显示状态消息而不是一系列警报。

从用户的角度来看,如果网络或数据库遇到错误,他们会想知道何时可以再次开始点击。如果您预计这些错误只发生在极少数情况下,警报似乎没有问题。但是,如果可能网络或数据库可能停机一段时间,因此他们会收到很多这些消息,我会在某处放置状态消息,并且状态消息表示网络或数据库已关闭,直到它能够成功完成请求。我想你可以继续允许用户点击,甚至可以每隔几秒钟ping你的服务器,直到请求有效。一旦完成,你可以清除状态信息,一切都会正常继续。希望这是有道理的。

JavaScript代码片段:

if (response.error) { 
    if (response.error === 'some type') { 
     showStatusMessage('Network/DB down'); 
     startPollingNetworkDBStatus(); 
    } else { 
     // Additional error handling... 
    } 
}