Vic*_*huk 4 javascript jquery throttling underscore.js debouncing
我有这样的代码:
var originalFunction = function() {
return 'some value';
};
var debouncedFunction = _.debounce(originalFunction, 3000);
console.log('debouncedFunction() result: ', debouncedFunction());
console.log('originalFunction() result: ', originalFunction());
Run Code Online (Sandbox Code Playgroud)
控制台的结果是:
debouncedFunction() result: undefined
originalFunction() result: some value
Run Code Online (Sandbox Code Playgroud)
如您所见,去抖动功能不会返回任何内容.据我所知,它是由去抖动功能中的内部定时器引起的,但它是否存在?
因为debounced函数是异步调用的 - 你不能从它们返回一个值,尽管你可以调用另一个传递结果的函数:
var originalFunction = function() {
console.log('some value');
// or something like: callback(result)
};
var debouncedFunction = _.debounce(originalFunction, 3000);
console.log('debouncedFunction() result: ', debouncedFunction());
Run Code Online (Sandbox Code Playgroud)