如何在async函数中使用debounce?在我的vue应用程序中,我有一个方法,可以从一个API中获取数据,该API会连续调用我想要避免的API.

以下是我的方法:

methods: {
    async getAlbums () {
     const response = await AlbumService.fetchAlbums()
     this.albums = response.data.albums
    } 
}

我之前已经安装了lodash个,那么我该如何实现呢?

推荐答案

Lodash的debounce函数接收函数、等待时间并返回函数.

这样做:

methods: {
  getAlbums: _.debounce(async function() {
    const response = await AlbumService.fetchAlbums();
    this.albums = response.data.albums;
  }, 1000);
}

Vue.js相关问答推荐

检测Vue3/Vue-test-utils中的Vuex还原/Mutations

如何在FormKit中验证文本输入框中不能输入数字

在计算(computed)属性上调用数组方法

纵横比元素溢出容器

如何通过 setup() 发出多个参数?

如何在 VUE.js 中重新刷新时保持多层 b-collapse 菜单打开?

v-for 内部的组件

如何在 vue.js 2 的其他组件中调用方法?

Bootstrap-vue b-table,标题中带有过滤器

如何在 vue.js 中包含当年的版权?

为什么 vue 文档说 refs 不是响应式的,而实际上它们是响应式的

带有子菜单的 Vuetify 导航抽屉

使用vue.js单击时如何获取按钮的值

如何在 Vue3 设置标签中定义组件名称?

为 Vue 组件动态添加属性

在 VUE JS 的光标位置插入字符

Vuejs - 使用 v-if 切换的保持活动组件

使计算的 Vue 属性依赖于当前时间?

使用 axios 和 vue.js 取消先前的请求

Vue 3 – 渲染无法动画的非元素根 node