假设我有一个网站,每个用户都有一个个人资料。
现在拥有现有个人资料的用户想要对其进行编辑,因此他单击了“编辑我的个人资料”按钮。
让我们假设允许用户完成此操作的 UI 很复杂并且需要一些时间来呈现(100 毫秒)。
对服务器的 AJAX 调用以检索配置文件数据需要 150 毫秒。
单击“编辑我的个人资料”后,我将继续执行以下操作:
- 显示加载指示器
- 进行 ajax 调用(150 毫秒)
- 当 ajax 调用返回时,构建 UI 并用返回的数据填充它(100 毫秒)
总时间:250ms
但是......如果我以其他方式进行怎么办:
- 开始ajax调用
- 构建界面(没有内容),也许用顶部的模式弹出窗口锁定它,上面写着“正在加载......”
- 当ajax调用返回解锁界面并填充它
浏览器是立即启动 AJAX 调用,还是等待当前操作完成?
因为如果是这样,这应该会更快,因为它在进行 AJAX 调用时构造 UI,需要 150 毫秒(重叠的 UI 构造 + AJAX 调用)+ 假设 20 毫秒来更新 UI。
总时间:170 毫秒。