在其自己的回调中调用函数
Call a function inside its own callback
我的 NodeJS 应用程序 运行 是我的 C++ 应用程序并观察它。如果应用程序被杀死,服务器 运行 再次发送它。如果我的应用程序 运行 几天,如果假设这种 kill/die 场景发生太多次,它会导致堆栈溢出吗?如果是,能否请您提供解决方案?
谢谢
import { execFile } from "child_process";
function runRedirector(){
execFile("./redirector.out", ["1"], {}, function(error, stdout, stderr) {
runRedirector();
});
}
由于 execFile
的异步特性,您的调用堆栈不会增长。当回调被调用时,外部调用已经从调用堆栈中弹出
const {execFile} = require("child_process");
let i = 0
function runRedirector(){
execFile("./redirector.out", ["1"], {}, function(error, stdout, stderr) {
console.log('In callback', i++)
runRedirector();
});
console.log('In runDirector', i); // this will be logged first
}
我的 NodeJS 应用程序 运行 是我的 C++ 应用程序并观察它。如果应用程序被杀死,服务器 运行 再次发送它。如果我的应用程序 运行 几天,如果假设这种 kill/die 场景发生太多次,它会导致堆栈溢出吗?如果是,能否请您提供解决方案?
谢谢
import { execFile } from "child_process";
function runRedirector(){
execFile("./redirector.out", ["1"], {}, function(error, stdout, stderr) {
runRedirector();
});
}
由于 execFile
的异步特性,您的调用堆栈不会增长。当回调被调用时,外部调用已经从调用堆栈中弹出
const {execFile} = require("child_process");
let i = 0
function runRedirector(){
execFile("./redirector.out", ["1"], {}, function(error, stdout, stderr) {
console.log('In callback', i++)
runRedirector();
});
console.log('In runDirector', i); // this will be logged first
}