在node.js中执行exit时不显示控制台警告

时间:2014-01-28 15:32:53

标签: javascript node.js console exit

我是Node.js的新手。我在我的网站上实施了\exit链接。浏览时,会调用以下函数:

function exitRequest(req, res) {

    res.setHeader('Content-Type', 'text/html');    
    res.send("<html><body>Bye</body></html>");

    console.warn('%s: Exit requested.', Date(Date.now()) );
    process.exit(0);

};

页面显示正常,node.js服务器关闭,但不显示控制台警告。但是,对console.warn的调用在应用程序的其他部分成功。我可以在输出窗口中看到消息。

什么可能导致这个问题?

1 个答案:

答案 0 :(得分:0)

尝试延迟进程终止:

console.warn('%s: Exit requested.', Date(Date.now()));
process.nextTick(function() { process.exit(0); });

或使用setTimeout

setTimeout(function() { process.exit(0); }, 0);

如果您不想创建新的匿名函数,可以使用bind:

var exit = process.exit.bind(process, 0);

// Later...
process.nextTick(exit);