Javascript 如何取消与Lodash的内部功能?

Javascript 如何取消与Lodash的内部功能?,javascript,jquery,lodash,debounce,Javascript,Jquery,Lodash,Debounce,我正在实现一个功能,允许用户自动键入搜索。 目前它工作正常 为了改进此功能,我希望支持用户按Enter键,然后必须立即调用搜索Ajax请求 我读过洛达斯的文件。它说我可以调用去公告.flush。 现在还可以。将方法分配给变量 const debounced = _.debounce((event) => { // Call ajax request and sth more here) }, 700); $('input').unbind('keyup keypres

我正在实现一个功能,允许用户自动键入搜索。 目前它工作正常

为了改进此功能,我希望支持用户按Enter键,然后必须立即调用搜索Ajax请求

我读过洛达斯的文件。它说我可以调用
去公告.flush
。 现在还可以。将方法分配给变量

  const debounced = _.debounce((event) => {
    // Call ajax request and sth more here)
  }, 700);

  $('input').unbind('keyup keypress').on('keyup keypress', debounced);

要检查按下“回车”按钮,我需要检查
event.keyCode | | event.which
,并在去盎司函数定义内调用
flush
方法

  const debounced = _.debounce((event) => {
    if (13 === (event.keyCode || event.which)) return debounced.flush();

    // Call ajax request and sth more here)
  }, 700);


但是请求似乎仍然延迟,并且没有被调用。

由于
取消公告
将在上次调用回调函数后仅700毫秒调用该函数,因此
回车
检查也将在按下回车后仅700毫秒应用

创建一个事件处理程序,调用
取消公告
,并在按下enter键时刷新它

const debounced=u.debounce(值=>{
console.log(值);
}, 700);
const eventHandler=e=>{
如果(e.key=='Enter')返回debounced.flush();
取消公告(如目标值);
}
$('input')。on('keyup keypress',eventHandler)

谢谢!我将尝试您的解决方案并回复您