Javascript 取消公告的函数调用延迟,但在等待计时器结束时全部执行

Javascript 取消公告的函数调用延迟,但在等待计时器结束时全部执行,javascript,vue.js,debouncing,Javascript,Vue.js,Debouncing,我使用以实现“键入时搜索”字段 我正在阅读,从我的理解来看,函数只能被调用有限的次数 在我的例子中,函数调用被延迟,但在等待计时器结束后立即执行: methods: { searchOnType: function (currentPage, searchString) { console.log(`Searching ${searchString}`) var debounced = throttle(this.getMovies, 4000, {leading: fals

我使用以实现“键入时搜索”字段

我正在阅读,从我的理解来看,函数只能被调用有限的次数

在我的例子中,函数调用被延迟,但在等待计时器结束后立即执行:

methods: {
  searchOnType: function (currentPage, searchString) {
    console.log(`Searching ${searchString}`)
    var debounced = throttle(this.getMovies, 4000, {leading: false, trailing: true})
    debounced('movies.json', currentPage, searchString)
  },
  getMovies: function (url, page, query) {
    console.log(query)
    this.loading = true
    resourceService.getMovies(url, page, query).then((result) => {
      this.items = result.movies
      this.totalMovies = result.total
      this.loading = false
    })
  },
HTML(它是Vue.JS)



这是我的控制台。日志:

每次按下
键时,您都在创建一个限制函数(顺便说一下,您可能应该使用
输入
)。你可以这样做,我想

methods: {
  searchOnType: throttle((currentPage, searchString) => {
    this.getMovies('movies.json', currentPage, searchString)
  }, 1000, {leading: false, trailing: true})
}

每次按下
keydown
(顺便说一句,您可能应该使用
input
)时,都会创建一个限制函数。你可以这样做,我想

methods: {
  searchOnType: throttle((currentPage, searchString) => {
    this.getMovies('movies.json', currentPage, searchString)
  }, 1000, {leading: false, trailing: true})
}

是的,你可以,我只是在文件里读到。。谢谢但是你的语法有点错误,你能检查一下文档并纠正一下吗√ ?不过语法很好。这完全取决于你想如何处理它。我将更新我的示例以处理参数。那么,我之前所做的是什么呢?您创建了一系列不同的
去公告
函数。是的,您可以,我只是在文档中阅读了它。。谢谢但是你的语法有点错误,你能检查一下文档并纠正一下吗√ ?不过语法很好。这完全取决于你想如何处理它。我将更新我的示例以处理参数。那么,我之前所做的是什么呢?您创建了一系列不同的
取消公告的
函数。