如何立即回复?

时间:2017-05-02 13:01:59

标签: node.js

我正在使用NodeJS + Server-Side-Rendering。因此,虽然HTML是呈现,而不是让客户端在空白屏幕上等待,我想呈现此HTML:

<!DOCTYPE html>
<html>
  <head><title>PageTitle</title></head>
  <body><h1>Loading....</h1></body>
</html>

并且,server-side 准备html后,我想stream到客户端。基本上,我想将上面提到的html替换为html的{​​{1}} ...

我可以对created/rendered做些什么吗?

2 个答案:

答案 0 :(得分:1)

我想说这可能是可能的,但我会劝阻它作为快速渲染的解决方案。而是在服务器上呈现整个页面,并将DOM缓存在内存中。这样,当请求进入时,您可以立即响应缓存副本并在没有加载屏幕的情况下传送整个内容。

或者,我会在页面加载后使用javascript从节点服务器获取内容。

答案 1 :(得分:0)

除非我被误导,否则你无法使用纯粹的服务器端渲染技术来做到这一点。您从服务器获得一个呈现您的响应:

<!DOCTYPE html>
<html>
  <head><title>PageTitle</title></head>
  <body><h1>Loading....</h1></body>
</html>

您需要在混合中添加其他技术,以便从服务器获取其他响应。 Ajax调用服务器,websockets,webworkers等。