nodejs简易实现一下bigpipe

    今天刚好看到bigpipe的文章,写个demo试一下:

//bigpipe测试
function bigpipe(req , res){
    res.writeHead(200 , {‘Content-Type‘: ‘text/html;charset=utf-8‘});

    var html = "<html>" +
        "<head>" +
        "<meta charset=‘UTF-8‘>" +
        "<title>bigpipe测试</title>" +
        "<style>div{height:100px;line-height:100px;text-align:center;border:1px solid;margin: 10px;}</style>" +
        "<script>" +
        "function append(id , html){"+
            "document.getElementById(id).innerHTML = html;"+
        "}" +
        "</script>" +
        "</head>" +
        "<body>"

    var htmls = [];

    for(var i=0;i<10;i++){
        html += "<div id=‘dom"+i+"‘>Loading...</div>";
        htmls.push("I am dom"+i)
    }

    i = 0;
    res.write(html)
    flush();

    function flush(){
        if(i > htmls.length-1){
            res.end("</body></html>");
            return;
        }

        setTimeout(function(){
            var txt = htmls[i];
            res.write("<script>" +
                        "append(‘dom"+i+"‘ , ‘"+txt+"‘)" +
                    "</script>");
            i++;

            flush();
        },1000)
    }
}

     Test : http://wanghx.cn:9261/bigpipe    get√

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。