2
是否有可能創建一個不會阻止node.js退出的「弱回調」(類似於「弱引用」)?我希望能夠爲長時間運行的異步任務定義一個「可選處理程序」,如果node.js進程仍在運行,但它不會阻止事件隊列被「空」本身。我沒有一個真實世界的用例,我只是想知道node.js是否支持它(它可能需要本地擴展)。Node.js創建不會阻止進程退出的「弱回調」
這是一個非常簡單的程序,調用/bin/sh -c "sleep 9 ; ls"
並等待它完成。 node.js進程基本上閒置9秒,直到子進程結束。
var child_process = require("child_process");
child_process.exec("sleep 9 ; ls", function (err, stdout, stderr) {
console.log(stdout);
});
console.log("end");
我希望能夠寫這樣的事情,在這裏我使用setTimeout
所以程序是保證活着的至少三秒鐘來創建一個非弱回調。 (注:child_process.exec
確實有超時選項,但必須提前進行設置,而這種方法允許在事後被改變的最後期限)
var child_process = require("child_process");
child_process.exec_weakly("sleep 9 ; ls", function (err, stdout, stderr) {
console.log(stdout);
});
setTimeout(function() {}, 3000); // prevent exit for at least three seconds
console.log("end");