簡體   English   中英

Aurelia停止HTTP請求重載

[英]Aurelia stop overload of http requests

我正在使用Aurelia,並且有多個Promise調用我的API。 如果我連續單擊該按鈕一次又一次地觸發承諾,則后端將超時。 我如何停止/停止我正在履行的承諾,而只是獲得最新的承諾,以免API過度工作並導致超時?

這不是aurelia特有的,它發生在任何異步事件實現中。

  1. 當您單擊按鈕時,將調用事件處理程序。
  2. 事件處理程序將異步AJAX請求發送到您的服務器。 因為它是異步的,所以在發生請求時,您的代碼和應用程​​序將繼續運行。
  3. 用戶可以再次單擊該按鈕,並可以同時發送第二個AJAX請求,前提是您單擊的速度比完成請求的速度快。
  4. 更糟糕的是,並發請求甚至可能無序完成(即,后一個請求在前一個請求之前完成)。 您的代碼應准備妥善處理。

如果您不希望這種行為,您可以自行決定阻止用戶在AJAX請求完成之前再次提交。 例如,您可以:

  • 發送請求時禁用按鈕; 要么
  • 顯示模式“加載”屏幕/微調器,以防止在請求進行過程中與應用程序進行任何交互。

請注意,無論如何,給予用戶反饋都是好的UX。 網絡請求可能由於很多原因而被延遲,因此最好提供一些反饋以使他知道正在發生某些事情。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM