如何从服务器获取有关页面加载的信息



很多次,我看到实时进度条显示从重数据web应用加载的数据量,在页面开始渲染之前通知用户加载过程(%或填充条)。如何实施?

我认为没有完美的解决方案。当然也没有一个正确答案。这主要取决于API/服务器的功能。我关注的是如何将进度推向前端。我看到了三种不同类型的数据传输。

Timer(最坏解)您可以使用基于平均加载时间的计时器。我不认为我需要解释为什么这不是一个好的解决方案。但是这并没有真正给出一个正确的加载状态。

轮询✔️您可以使用轮询系统来检索数据。当数据尚未准备好时,您将返回进度。如果数据已准备好,则返回数据。例如:

Step 1: GET the data from the REST-API
This call returns an id linked to the request. F.e. ID-1
Step 2: You poll each couple of (mili)seconds the status of the request, based on the ID.
This call returns for example:
{
status: 20,
data: []
}
As soon as the status is 100, the data is provided

✔️Web sockets除了轮询之外,您还可以使用套接字用正确的状态更新前端。服务器将向前端发布状态。对于这种方法,你还需要一个特定类型的ID,以确保你只收到你的进度。

最新更新