2009-12-14 51 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... 
    } 
}