前端多次调用1个接口, 要最后一次请求的数据

假设你要进行多次调用一个名为getData()的接口,并且你只关心最后一次请求的数据。你可以使用以下示例代码来实现:

let lastRequestId = 0; // 记录最后一次请求的ID
let lastResponse = null; // 记录最后一次请求的响应数据

async function getData() {
  const requestId = Date.now(); // 生成一个唯一请求ID
  
  lastRequestId = requestId; // 记录最后一次请求ID
  
  try {
    const response = await fetch('https://api.example.com/data'); // 发起接口请求
    const data = await response.json(); // 获取请求响应的数据
    
    // 只保存最后一次请求的数据
    if (requestId === lastRequestId) {
      lastResponse = data;
       // 更新页面数据或进行其他操作
      updatePageData(lastResponse);
    }
  } catch (error) {
    // 处理请求错误
    console.error('请求错误:', error);
  }
}

// 示例:连续点击多次调用getData()函数
// 只有最后一次请求的数据会被更新到页面上
for (let i = 0; i < 10; i++) {
  getData();
}

function updatePageData(data) {
  // 更新页面数据的逻辑
  console.log('最后一次请求的数据:', data);
}

在以上示例中,我们使用lastRequestId来记录最后一次请求的ID,每次请求时都将lastRequestId更新为当前的请求ID。在请求完成后,我们只会将最后一次请求的数据保存到lastResponse变量中,并将其传递给updatePageData()函数进行页面数据的更新。

这样,无论连续点击多少次getData()函数,只有最后一次请求的数据会被更新到页面上,其他请求的数据不会造成页面数据错乱的问题。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值