如何在 NodeJS 中中断超时长时间运行的方法



使用内置线程支持的语言,这似乎是一项相当容易的任务,但是,

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

例如,如果我有一个将回调作为参数的 api,并在调用之前和之后进行一些处理并返回结果。

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

如果臭名昭著的开发人员使用以下回调调用此 API

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

和 API 的结果用于渲染 HTML。

单线程的节点js会阻止对服务器的所有请求!

那么,如果 api 需要超过某个预设时间,有什么方法可以超时/终止回调方法执行,以避免阻止所有 Web 请求?

如果没有,还有其他方法可以实现此 API 吗?

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

相关内容

  • 没有找到相关文章

最新更新