nodejs 改变html 元素,如何在nodejs readline过程中更新html页面

首先,每次你调用这个函数,你都会做require('readline')和require('fs'),所以我会把它移到脚本上。

我建议两种方法:

暂停阅读

var readline = require('readline');

var fs = require('fs');

function clickTest(){

var lineReader = readline.createInterface({

input: fs.createReadStream(filePath)

});

lineReader.on('line', function(line){

// pause emitting of lines...

lineReader.pause();

// write line to dom

document.getElementById("demo").innerHTML += line;

// Resume after some time

setTimeout(function(){

lineReader.resume();

}, 1000);

});

lineReader.on('end', function(){

lineReader.close();

});

}

这种做法应该读一行,然后暂停一些时间,你指定后恢复。

缓冲线

var readline = require('readline');

var fs = require('fs');

var lines = [];

function clickTest(){

var lineReader = readline.createInterface({

input: fs.createReadStream(filePath)

});

lineReader.on('line', function(line){

lines.push(line)

});

lineReader.on('end', function(){

lineReader.close();

printLine(0);

});

}

function printLine(index){

// write line to dom

document.getElementById("demo").innerHTML += lines[index];

if (index < lines.length - 1){

setTimeout(function(){

printLine(index + 1);

}, 1000);

}

}

这种方法将节省所有行到一个数组,然后慢慢地打印出来。

请注意,我还没有得到节点WebKit的实际测试,所以你可能会发现代码中的错误,但它应该给你的总体思路

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值