如何从 JavaScript 中的去抖函数返回值? [复制]

2024-01-04

我有这样的代码:

var originalFunction = function() {
    return 'some value';
};

var debouncedFunction = _.debounce(originalFunction, 3000);

console.log('debouncedFunction() result: ', debouncedFunction());

console.log('originalFunction() result: ', originalFunction());

(代码笔链接) http://codepen.io/dfgsfdgdsaghsdg/pen/jrrqKR?editors=0010

控制台中的结果是:

debouncedFunction() result:  undefined 

originalFunction() result:  some value

如您所见,去抖函数不会返回任何内容。我知道这是由去抖动函数中的内部计时器引起的,但是有解决办法吗?


这是因为去抖函数是异步调用的 - 尽管您可以调用另一个函数来传递结果,但您无法从它们返回值:

var originalFunction = function() {
    console.log('some value');
    // or something like: callback(result)
};

var debouncedFunction = _.debounce(originalFunction, 3000);

console.log('debouncedFunction() result: ', debouncedFunction());
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 JavaScript 中的去抖函数返回值? [复制] 的相关文章

随机推荐