如何在Ajax中从任何Api获取数据时计算Fetching Time

How to calculate Fetching Time while fetching data from any Api in Ajax

本文关键字:数据 获取 计算 Time Fetching Api 任何 Ajax      更新时间:2023-09-26
  1. 我只想显示从Api获取的数据量。

  2. 输出应该是10%,剩下90%。

  3. 我正在搜索我应该如何计算检索的数量,并重新提取剩余的数据。

  4. 我一直在研究大本营api。它会浪费很多时间来获取任务、活动等。所以我只想在Ajax中显示获取时剩下的时间

我在谷歌上搜索了一个链接:Monitoring_progress但如果有人能建议我从哪里开始,我将不胜感激。

据我所知,没有办法得到确切的时间,但你可以得到一个近似值。

为什么你不能有一个确切的时间

大部分时间都花在basecamp服务器上,而不是请求中。您发布的链接为basecamp提供了一种推送进度消息的方式。如果他们不这样做,你将一无所获。

您可以将basecamp服务器想象成一面墙。墙后是进步,但你看不到墙后,basecamp不允许你爬上去。

该怎么办

你可以估计这个时间。使用类似于这里发布的方法:

var ajaxTime= new Date().getTime();
$.ajax({
    type: "POST",
    url: "some.php",
}).done(function () {
    var totalTime = new Date().getTime()-ajaxTime;
});

您可以测量完成请求所需的时间。

然后计算向url发出的所有请求的mean time。那时间就足够了。

我推荐这样的东西:

  • 对于每个请求,自己测量时间,10次
  • 计算次数的平均值(求和并除以10(请求数))
  • 保存结果并在启动应用程序并存储在浏览器中时发送
  • 当用户提出请求时,获取预先计算的时间并显示计时器

更新

要将固定时间量显示为百分比,您可以这样做:

  • secondsPerPercent = timeInSeconds / 100<--这是需要经过多少秒才能填充百分比
  • 制作一个javascript计时器(其代码可以在谷歌上找到),在每个secondsPerPercent更新百分比