2017-10-11 188 views
4

我一直在讀了一段關於改造2.As取消請求據我已經閱讀了關於取消請求,onFailure處()被調用,並請求從隊列中刪除,如果不出動。但是,會發生什麼,如果該請求已經被分派(我知道我會得到回調onFailure處()),但不實際HTTP請求服務器被取消?改造2取消請求工作

要精心比方說我的圖片上傳到服務器。請求已被派出,現在取消被調用時,我知道我會得到一個onFailure處回調爲Android,但將獲得的圖像上傳到服務器或將它從服務器端拋棄呢?

這可能是網絡請求一個基本的事情,但因爲這是我第一次遇到沒有真正意識到如何取消一般要求的作品。

回答

2

如果連接已建立,則在改造的Call對象上調用cancel將關閉連接的套接字。

這意味着如果您處於文件上傳的中間,並且您調用cancel()方法,則連接將立即關閉,文件上傳將失敗。

但是,如果你取消呼叫當文件上載已經完成,服務器發送響應消息,該文件被上傳。

+0

謝謝。任何想法如何處理你提到的這種棘手的情況? –

+0

您可能想要開發一個確認系統,如雙向握手。但它會太複雜。這種情況很少發生。我認爲你不需要處理這種情況。 –