即使EventQueue中有“非必要”的东西,我如何使NodeJS终止?

问题描述 投票:0回答:1

我对所有事情都没有很好的条件,所以请耐心等待。

在NodeJS脚本中,一旦清除事件队列,执行将完成。但是,在我的程序包中,我想在事件队列中添加不必要的长期运行对象(例如,生成的进程或setInterval调用),并在脚本自然完成后对该非必要任务进行自动触发清除

not添加了长期运行的东西吗?

因为我正在生产一个包,所以我可以让该包的用户调用close()方法(并使他们负责跟踪何时完成其他所有操作。但是我宁愿自动关闭,以使用户不会不必担心。

我将使用setInterval作为示例,但我真的很想让它与生成的子流程一起工作。我希望有这样的东西:

function main() {
  let myinterval = setInterval_NonEssential(() => {
    console.log("Still alive");
  }, 1000);
  process.on('only-non-essential-work-remains', () => {
    clearInterval(myinterval);
  });

  // do any number of other things
  // ...
}

main();

是否可以通过这种方式标记事件队列中的内容?您对如何完成此工作有更好的建议吗?

我对所有内容都不满意,请耐心等待。在NodeJS脚本中,一旦清除事件队列,执行将完成。但是,在我的程序包中,我想添加一个非必需的...

javascript node.js
1个回答
0
投票

setInterval返回一个超时对象,该对象提供了一个unref方法,该方法告诉节点忽略有关“是否还有正在发生的问题”这一问题的句柄。

© www.soinside.com 2019 - 2024. All rights reserved.