0
我有一個接受輸入並向服務器發送異步請求的文本框。與TPL的兩個不同呼叫的異步響應
首先我鍵入'a'併發送異步請求'a'。然後我立即鍵入'b'併發送'ab'請求。
'ab'的響應返回速度比'a'響應快。所以,我最終得到了響應「A」,即使文本框有值「AB」
我試圖用,但它顯示上次響應(這是「A」)
Task.Run(() => {
// send request
}).ContinueWith((t) => {
// get response
});
我有些newbiew 。任何人都可以幫助我如何處理這種情況?
感謝您的回覆。一個澄清,如果有三個請求'a','ab','abc',我最後的迴應是'abc' - 使用取消將拋出異常兩次(對於之前的'a'和'ab'),右? –
@YeasinAbedinSiam,這取決於用戶輸入的速度。如果他們打字速度非常快,那麼'a'和'ab'操作將被取消,是的。他們輸入的越慢,越多的操作將實際運行到完成並最終進入「過程/顯示響應」部分 - 沒有例外。 –