lodash / underscore debouce help - 从不调用函数

时间:2015-07-09 09:32:39

标签: geolocation underscore.js lodash

尝试限制下面调用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});

1 个答案:

答案 0 :(得分:1)

调用debounce一次并使用返回的值作为成功处理程序:

var successHandler = _.debouce(updateLocation, 5000);

var id = navigator.geolocation.watchPosition( successHandler, ....

您的代码中发生的事情是,您每次更改位置时都会创建一个去抖动功能。