Javascript 使用长服务器端脚本加载网页的最佳实践

Javascript 使用长服务器端脚本加载网页的最佳实践,javascript,python,html,ajax,google-app-engine,Javascript,Python,Html,Ajax,Google App Engine,当前加载网页的最佳实践和方法是什么(有10-15秒的服务器端脚本) 用户单击链接>服务器端运行>返回html页面(空白 翻页10-15秒) 用户单击一个链接>立即返回html页面(带有进度) bar)>向服务器端发送AJAX post请求>完成脚本>将结果返回到 html 其他选项(线程?) 我正在运行Google App Engine(Python)标准环境。最佳实践是脚本不需要10-15秒 你的剧本在做什么?它是否生成了一些可以预计算、缓存或保存在谷歌云存储中的东西 如果您将数据存储查询

当前加载网页的最佳实践和方法是什么(有10-15秒的服务器端脚本)

  • 用户单击链接>服务器端运行>返回html页面(空白 翻页10-15秒)
  • 用户单击一个链接>立即返回html页面(带有进度) bar)>向服务器端发送AJAX post请求>完成脚本>将结果返回到 html
  • 其他选项(线程?)

我正在运行Google App Engine(Python)标准环境。

最佳实践是脚本不需要10-15秒

你的剧本在做什么?它是否生成了一些可以预计算、缓存或保存在谷歌云存储中的东西

如果您将数据存储查询以菊花链的方式链接在一起,您可以做些什么来使它们同步发生

如果真的需要10-15秒,那么我认为选项2是必须的:

用户单击一个链接>立即返回html页面(带有进度条)>服务器端的AJAX post请求>完成脚本>将结果返回html


我们这样做的方式是使用Ajax方法(第二种方法),其他人都是这样做的。
您可以使用任务队列异步运行脚本,并使用
FCM
Firebase Cloud Messaging
)将结果返回前端。

您还应该尝试将脚本分成多个任务队列,以使其运行更快。

其他选项是缓存服务器响应。否则,请务必通过ajax加载它。非常感谢Alex的响应。我认为有一点菊花链可以改进。我会尝试优化,但我不认为这会显著降低它。运行的每个脚本对于运行它的用户来说都是唯一的(即,它正在执行特定于该用户的任务),所以不要相信我也可以预计算或缓存。感谢noob,乐意领导ajax方法是最常用的方法。我已经有一段时间没有使用ajax了,所以我不确定是否有更好的方法。我还将查看任务队列。谢谢Ajax基本上是建立在这样一种理念之上的:我们应该尽快向用户展示一些东西,即使相关数据还不存在。我们可以显示一个加载器或其他东西来显示请求已被接受并将被处理。这样,用户就不会离开页面,而是再等待一点。