在等待数据库的同时将页面的HTML开头发送到服务器

时间:2015-01-28 13:40:32

标签: node.js koa

如果我拿出我的数据库访问代码,我的网页将在几毫秒内处理完毕。添加数据库访问代码后,请求最多可达400ms +。

是否可以在等待数据库返回时将页面顶部发送到浏览器?

只是为了证明这是可能的......

enter image description here

enter image description here

2 个答案:

答案 0 :(得分:1)

您应立即返回视图,并使用触发数据库查询的一些异步api调用(使用ajax调用)填充数据。从数据库中获取结果后,您可以发送它们。或者,如果更有意义,您可以分解查询并返回数据块。

答案 1 :(得分:1)

Marko完全符合您的要求:

它提供了3个支持渐进式渲染的关键功能:

  1. 流式模板渲染 - 因此您的html会提前发送并且缓冲区会经常清除
  2. html片段的异步渲染 - Marko将管理等待,缓冲和最终渲染
  3. 无序渲染 - Marko可选择在api调用或数据库查询可用时立即发送模板数据,然后它将在客户端重新排序html
  4. 我刚刚在Marko上做了一个你可能会觉得有用的截屏视频:

    http://knowthen.com/episode-8-serving-content-in-koajs-with-marko/