node.js如何终止客户端的函数执行

我有一个增长的txt文件和下面的函数来读取文件,因为它增长。 这个函数我把路由js和$ http调用调用。 事情正在工作,但我不知道如何停止阅读和终止/取消function执行调用。 请帮忙

var fs = require('fs'), bite_size = 256, readbytes = 0, file; fs.open('test.txt', 'r', function(err, fd) { file = fd; //readsome(); var func = (function readsome() { var stats = fs.fstatSync(file); // yes sometimes async does not make sense! if(stats.size<readbytes+1) { console.log('Hehe I am much faster than your writer..! I will sleep for a while, I deserve it!'); setTimeout(readsome, 1000); } else { fs.read(file, new Buffer(bite_size), 0, bite_size, readbytes, function (err, bytecount, buff) { console.log(buff.toString('utf-8', 0, bytecount)); readbytes+=bytecount; process.nextTick(readsome); }); } })(); }); 

首先,而不是使用

 process.nextTick(readsome); setImmediate(readsome); 

process.nextTick相当难以打断; 看到这个讨论 。

接下来,在readSome的顶部,检查是否应该取消,如果是,则返回。 你可以设置一个全局variables,当你想取消该function,否则,包括它在一些请求状态。 关于如何取消信息的具体位置,取决于您要取消的条件。