使用場景
1.邊輸入邊搜尋
2.邊篩選邊搜尋
同一資料來源的非同步請求到資料返回的次序及耗時:
a請求 -------------s響應 -----------responsea返回
b請求------s響應-------responseb
會導致的問題:如果傳送的a和b請求返回的資料會相互覆蓋,a請求的老資料就會覆蓋b請求的新資料,結果展示的誤差
技術
dio請求的取消
canceltoken canceltoken =
newcanceltoken()
; canceltoken.
cancel
("cancelled"
);
注意事項:canceltoken的cancle行為會取消此canceltoken的所有網路請求,上述場景的canceltoken就不能使用同乙個
解決方案:佇列,[acanceltoken,bcanceltoken]
1.a請求 [acanceltoken] ---------
2.b請求 [acanceltoken,bcanceltoken]
3.-----responsea ------responseb(b覆蓋a,結果:b)
3.此時a請求未返回資料就acanceltoken.cancle(),.remove(acanceltoken)-----responseb(結果:b)
注意:canceltoken.cancel("cancelled");
會返回error ,型別error.type == dioerrortype.cancel
,會影響統一出錯文案的提示
Flutter之dio 資料請求
注意 flutter 官方提供了httpclient發起的請求,但httpclient本身功能較弱,很多常用功能都不支援。dependencies dio 1.0.9 當前最新版本為 1.0.9 建議使用 pub 上的最新版本import package dio dio.dart dio dio n...
flutter 網路請求Dio封裝
封裝網路請求的幾個好處 1 便於統一配置請求引數,如header,公共引數,加密規則等 2 方便除錯,日誌列印 3 優化 效能,避免到處濫new物件,構建全域性單例 4 簡化請求步驟,只暴露需要的響應資料,而對錯誤的響應統一 5 對介面資料的基類封裝,簡化解析流程 新增依賴 dependencies...
flutter裡的dio簡單使用
在pubspec.yaml 裡面的dependencies 裡面配置 dependencies flutter sdk flutter dio 2.2 2 這裡儲存後會自動安裝。接下來在需要的檔案引入 import package dio dio.dart 使用 class mine extends...