在 Vuejs 组件中使用 Lodash 编写异步函数

Kit*_*Kit 1 javascript vue.js vuejs2

我有一个函数需要编写异步,但我不能以正确的方式完成。希望各位大侠帮忙。

async search (loading, search, vm) {
  let vm = this
  _.debounce(() => {
    let ApiURL = '/users/'
  }

  let { res } = await api.get(ApiURL) //Error
    vm.options = res.data
  }, 800)
Run Code Online (Sandbox Code Playgroud)

Ale*_*tin 7

在处理 promise 时,您应该避免使用 Lodash 提供的 debounce 函数,因为它不区分同步和异步函数,并且就像您提供给它的函数是同步的一样工作。所以它不会等到承诺被解决或拒绝并立即返回。这意味着用于 ajax 请求的时间不计入函数执行时间,并且在网络延迟的情况下,响应可能以不同的顺序出现。

我建议在 npm 上选择awesome-debounce-promise