尝试限制下面调用updateLocation()函数的次数。我的理解是,去抖会将调用限制为每5秒一次,但这种方法永远不会被击中 - 去抖似乎会去除一切?
var id = navigator.geolocation.watchPosition(function (location) {
_.debouce(function () {
updateLocation(location);
}, 5000);
}, function (err) {
console.log(err);
}, {enableHighAccuracy: false, timeout: 5000, maximumAge: 0});
答案 0 :(得分:1)
调用debounce一次并使用返回的值作为成功处理程序:
var successHandler = _.debouce(updateLocation, 5000);
var id = navigator.geolocation.watchPosition( successHandler, ....
您的代码中发生的事情是,您每次更改位置时都会创建一个去抖动功能。