我有一些Java
while(true) {
String result = http.get(url);
process(result);
}
我想转而使用JavaScript在Node上运行。但是get和process函数都是异步的,并且有回调函数。
function loop(process){
http.get(url, function(result){
process(result, function(){
loop(process);
});
});
};
loop(process);
我认为这会奏效。在处理结果完成之前,我不希望代码进行下一次HTTP调用,但我认为这会让我快速耗尽堆栈空间。如何改进这些代码,以便它能够永久运行而不会占用更多内存?
编辑:我错了。这不会占用堆栈。在触发回调之前,外部调用将被解析并从堆栈中取出。