return 如何从 javascript 中的去抖动函数中获取值?
How to return value from debounced function in javascript?
我有这样的代码:
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
如您所见,去抖动函数 return 没有任何作用。我知道这是由 debounced 函数中的内部计时器引起的,但是否有解决办法?
那是因为去抖函数是异步调用的 - 你不能 return 它们的值,尽管你可以调用另一个传递结果的函数:
var originalFunction = function() {
console.log('some value');
// or something like: callback(result)
};
var debouncedFunction = _.debounce(originalFunction, 3000);
console.log('debouncedFunction() result: ', debouncedFunction());
我有这样的代码:
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
如您所见,去抖动函数 return 没有任何作用。我知道这是由 debounced 函数中的内部计时器引起的,但是否有解决办法?
那是因为去抖函数是异步调用的 - 你不能 return 它们的值,尽管你可以调用另一个传递结果的函数:
var originalFunction = function() {
console.log('some value');
// or something like: callback(result)
};
var debouncedFunction = _.debounce(originalFunction, 3000);
console.log('debouncedFunction() result: ', debouncedFunction());