You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue.js中限制getCodeLinkage2方法仅请求前10条数据

解决Vue中限制异步请求仅处理前10条数据的问题

修改后的完整代码

JavaScript部分

new Vue({
  el: "#app",
  data: {
    box: [],
    Modules: []
  },
  mounted: function() {
    // 修正:调用组件方法需加this前缀
    this.getCodeLinkage2();
  },
  methods: {
    async getCodeLinkage2() {
      // 关键:用slice(0,10)截取前10条数据发起请求
      const data = await Promise.all(
        this.Modules.slice(0, 10).map(module => 
          this.request('GET', `https://example.com/${module.Identifier}/content/voc`)
        )
      );
     
      data.forEach(item => {
        alert("data");
        this.box.push(item);
      });
      console.log(this.box);
    }
  }
})

HTML部分

<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
  <ul>
    <li v-for="mod in Modules">
      {{ mod.Code}}<br>
      {{ mod.Identifier}}
    </li>
  </ul>
</div>

核心修改说明

  • 限制请求数量:通过this.Modules.slice(0, 10)截取数组的前10个元素,仅对这部分元素发起异步请求,避免遍历全部数据。如果Modules的长度不足10,slice会自动返回全部现有元素,无需额外判断。
  • 修正方法调用错误:mounted钩子中调用组件内部方法必须添加this前缀,否则会因作用域问题找不到getCodeLinkage2方法。

内容的提问来源于stack exchange,提问作者Vzupo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 05:15:34