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

标签 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)

最佳答案

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

我建议拿起 awesome-debounce-promise在 npm 上。

关于javascript - 在 Vuejs 组件中使用 Lodash 编写异步函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50422806/

相关文章:

javascript - 如何将参数从 anchor 标记 onclick 传递到 document.ready 中的函数

html - 基于两个复选框值的结果的 Vue.js 切换按钮?

javascript - 将数据传递给 vueJS 上的模态组件

javascript - vue 组件中的 d3.js - 如何将鼠标事件挂接到元素?

vue.js - 如何将收到的数据提交到Vue store?

javascript - 单击按钮后停止页面回发

javascript - HTML 输入类型 ="time"只允许 15 分钟间隔

javascript - 基于请求路径初始化变量而不使用多个 if 条件?

javascript - Vue.js 2 关于数据加载的困惑

javascript - 在 VueJS 项目中安装 slick carousel