相关疑难解决方法(0)

如何强制阻止Node.js进程终止?

TL; DR

强制保持Node.js进程运行的最佳方法是什么,即保持其事件循环不运行,从而阻止进程终止?我能想出的最佳解决方案是:

const SOME_HUGE_INTERVAL = 1 << 30;
setInterval(() => {}, SOME_HUGE_INTERVAL);
Run Code Online (Sandbox Code Playgroud)

如果您将间隔时间保持足够长的话,这将保持间隔运行而不会引起太多干扰.

有没有更好的方法呢?

长版的问题

我有一个Node.js脚本使用Edge.js注册一个回调函数,以便可以从.NET内的DLL内部调用它.此功能将每秒调用1次,发送一个应打印到控制台的简单序列号.

Edge.js部分很好,一切正常.我唯一的问题是我的Node.js进程执行它的脚本,然后它用完了要处理的事件.它的事件循环为空,它只是终止,忽略了它应该继续运行以便能够从DLL接收回调的事实.

我的Node.js脚本:

var
    edge = require('edge');

var foo = edge.func({
    assemblyFile: 'cs.dll',
    typeName: 'cs.MyClass',
    methodName: 'Foo'
});

// The callback function that will be called from C# code:
function callback(sequence) {
    console.info('Sequence:', sequence);
}

// Register for a callback:
foo({ callback: callback }, true);

// My hack to keep the process alive:
setInterval(function() {}, 60000);
Run Code Online (Sandbox Code Playgroud)

我的C#代码(DLL):

public class MyClass
{
    Func<object, …
Run Code Online (Sandbox Code Playgroud)

node.js edge.js

39
推荐指数
2
解决办法
2万
查看次数

标签 统计

edge.js ×1

node.js ×1