比如一个不断查询的函数,在查询完成后,继续调用自己,继续下一次查询,不断回调,永远都没有函数结束返回的那一刻, 这样是不是调用前的变量占用都不能释放,继续下去会吃光内存吗?
http = require(‘http’); function request() { http.get('http://www.baidu.com/’, function(res){ res.setEncoding(‘utf8’); res.on('data’, function(){ }).on('end’, function(){ console.log(res.headers); request(); // 继续下一次 }); }); }
6 回复
不太肯定会不会有问题,但我可以肯定如果你在这里用 setImmediate 就一定不会有问题。 http://nodejs.org/api/timers.html#timers_setimmediate_callback_arg