如何在nodejs中中断超时运行的方法?

使用内置支持线程的语言似乎是一个相当简单的任务,但是,

有没有办法终止/超时长时间运行的方法/无限recursion方法?

例如,如果我有一个以callback为参数的API,并且在调用之前和之后做一些处理并返回结果。

function api(data,callback) { processedData = before(data); result = callback(processedData); processedResult = after(result); return processedResult; } 

如果臭名昭着的开发人员跟随这个APIcallback

 function cpuFrenzy(data) { while(true); } result = api( {} , cpuFrenzy); render(result); 

和API的结果是用来呈现HTML。

节点js是单线程将阻止所有请求到服务器!

那么是否有任何方法让api超时/终止callback方法的执行,如果超过预设时间,为了避免阻止所有的web请求?

如果没有,有没有其他方法来实现这个API?

检查tripwire: https : //github.com/tjanczuk/tripwire