我在下面有一個文本輸入,綁定到模型req.mod1
,在更新模型中有一個去抖延遲,它調用pullData()
函數。
<input type="text" class="form-control" ng-change="pullData()" ng-model-options="{debounce: 1000}" ng-model="req.mod1">
裏面的pullData()
我有一個簡單$http.get
要求,即提取數據,並在窗體更新一些其他領域。
$scope.pullData = function(){
var pullingData = true;
if (!pullingData){
$http.get('example.com/search/' + $scope.req.mod1).then(res)
...
$scope.req.mod2 = res.data.mod2;
$scope.req.mod3 = res.data.mod3;
var pullingData = false;
...
}
}
所產生的問題是,多個呼叫堆疊在彼此的頂部 - 我認爲 - 所以如果用戶恰好輸入文本,等待>1秒,並鍵入一些,呼叫會去與第一次輸入的文本。然後它會提取數據並用第一個res
更新表單。我試圖跟蹤一個pullingData
變種的請求。
關於如何處理真正動態搜索調用的任何想法?有新方法可以取消請求嗎?或者,也許只是告訴角度不斷覆蓋它?
在此先感謝。
會考慮這個方法 - 感謝 – zekone