我有这样的代码:
var originalFunction = function() {
return 'some value';
};
var debouncedFunction = _.debounce(originalFunction, 3000);
console.log('debouncedFunction() result: ', debouncedFunction());
console.log('originalFunction() result: ', originalFunction());
控制台中的结果是:
debouncedFunction() result: undefined
originalFunction() result: some value
正如您所看到的,去抖动功能不会返回任何内容。据我所知,它是由去抖动功能中的内部定时器引起的,但它是否存在呢?
答案 0 :(得分:6)
var originalFunction = function() {
console.log('some value');
// or something like: callback(result)
};
var debouncedFunction = _.debounce(originalFunction, 3000);
console.log('debouncedFunction() result: ', debouncedFunction());
答案 1 :(得分:0)
引擎_.debounce
使用setTimout
,您需要回调才能从async
函数返回值。
function originalFunction (callback) {
callback("some value");
}
这是一个很好的链接, https://john-dugan.com/javascript-debounce/