我有一個不在我的控制下的隊列,如果它沒有收到針對之前觸發的請求的響應,則每隔1分鐘觸發一次HTTP請求。我的HTTP請求在內部執行超過一分鐘的一系列操作,並在一分鐘後給出響應。映射HttpRequests
編輯:這是一個副作用,當第二個請求到達時,第一個請求已經執行。第二個請求返回失敗,因爲它被第一個請求阻止,並且原始請求完成時返回成功。
不受我控制的隊列綁定到顯示成功或失敗的UI元素。因此,現在發生的事情是,一旦被觸發,首先顯示失敗狀態,這是第二個請求的響應的結果,該響應由於其提前失敗而返回更快,並且由於原始請求成功完成而成功。
對此的假設解決方案是將任何新的HTTP請求映射到當前正在執行的HTTP請求。由於它們將共享相同的內存位置,因此只有在執行完成後,該請求才會返回響應。
這可以在Java中實現嗎?
正在處理當前的請求時,新的請求到達時進行說明。因此,會發生什麼是新的傳入請求將返回一個失敗,然後完成原始請求返回一個成功代碼。 – Sujith
原始請求和新請求都會失敗。異步線程完成後的第三個請求將工作。一般來說,在異步線程結束之前收到的每個請求都會失敗,異步線程結束後的任何請求都會工作 –
不受我控制的隊列綁定到顯示成功或失敗的UI元素。因此,現在發生的事情是,一旦被觸發,首先顯示失敗狀態,這是第二個請求的響應的結果,該響應由於其提前失敗而返回更快,並且由於原始請求成功完成而成功。 – Sujith