我有以下角度表来观察范围变量,我执行以下操作。我使用debounce将请求捆绑到后端。
var myWatch = $scope.$watch('myQuery', _.debounce(loadMyData, 1000),true);
当myQuery返回undefined时,我不需要这个debounce而是需要直接执行后端调用。
var myWatch = $scope.$watch('myQuery', function(oldquery,newquery){
if(newquery){
_.debounce(loadMyData(newquery), 2000,true);
}else{
loadMyData(newquery);
}
},true);
现在辩论没有正确捆绑我的请求。
答案 0 :(得分:1)
您需要在变量中存储一个新函数,并在监听器中调用它:
var debouncedLoadMyData = _.debounce(loadMyData, 1000, true),
myWatch = $scope.$watch('myQuery', function (oldquery, newquery) {
if (newquery) {
debouncedLoadMyData(newquery);
} else {
loadMyData(newquery);
}
}, true)
;