网页分段加载就是在请求返回的时候一截一截的返回.
这里有一个例子:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20router.get('/', function (req, res, next) {
// res.render('index', { title: 'Express' });
res.writeHead(200, {
'Content-Type': 'text/html',
'Transfer-Encoding': 'chunked'
});
res.write("<html></html>");
setTimeout(() => {
res.write("<body></body>");
}, 1000);
setTimeout(() => {
res.write("test3");
}, 2000);
setTimeout(() => {
res.write("test3");
}, 3000);
setTimeout(() => {
res.end("test2");
}, 5000);
});
先要设置head返回的类型是chunked
,这样浏览器才会认识分段加载,否则就会直接等待最后结果.
后面使用定时器每隔一秒返回一截数据,浏览器也会适时的重新渲染网页.最后调用end方法结束这次请求.