【发布时间】:2014-12-10 15:25:59
【问题描述】:
在 Web 应用程序中,某些任务需要多个连续的 ajax 调用步骤才能完成。每个需要 12-18 秒。
我想向用户展示一个进度指示器,它正在执行频繁的小步骤。
我的第一个赌注是假设一个线性 progress = k * time 函数,在每个新响应上自我调整 k。 Fiddle emulated 随机值在 +- 4s 范围内的响应时间。
这种方法似乎是错误的:在一系列快速反应之后反应相对较长的情况下,进展会采取消极的步骤来赶上实际速度。
感觉一个函数应该以“波”的形式出现:开始时更快,在检查点延迟的情况下在接近结束时减速。
此类任务的最佳做法是什么?
【问题讨论】:
-
可能是某种moving average?
标签: javascript function math interpolation progress