【问题标题】:How to calculate Fetching Time while fetching data from any Api in Ajax如何在从 Ajax 中的任何 Api 获取数据时计算获取时间
【发布时间】:2014-04-22 20:10:36
【问题描述】:
  1. 我只想显示从 Api 获取的数据量。

  2. 输出应该是 10% 获取的 90% 那样剩余。

  3. 我正在搜索我应该如何计算取回的数量和剩余待取数据的数量。

  4. 我一直在研究 basecamp api 这会浪费大量时间来获取任务、活动等。 所以我只想显示在 Ajax 中获取时剩余的时间。

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

【问题讨论】:

  • 你对data的理解是什么?下载/上传某种数据或 ajax 请求数据?
  • 来自服务器的响应,我一直在 basecamp 的 api 中工作,它需要大量时间来获取任务、活动,所以我想显示用户时间,以便用户大声观看。
  • 下载ajax请求

标签: javascript php ajax


【解决方案1】:

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

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

大部分时间都花在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 计时器(可以在 google 上找到它的代码),它会每隔 secondsPerPercent 更新百分比。

【讨论】:

猜你喜欢
  • 2013-06-15
  • 1970-01-01
  • 2015-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-09
相关资源
最近更新 更多