node.js – NodeJS:如何使用process.nextTick将参数传递给函数

我正在尝试使用网络爬虫来从某些网站获取产品以减少我的内存使用量(我在某处找不到内存泄漏).所以我试图异步地向一个回调发送参数,以便终止当前的上下文.

这就是我所在的地方:

var big = html.get(url);
callback(big);
big = null; // this isn't going to get erased until after big is done is it?

这就是我尝试过的:

var big = html.get(url);
process.nextTick(function() {callback(big)}); // this seems wrong to me.
big = null;
var big = html.get(url);
process.nextTick(function() {callback(big); big = null; });

如果这种风格对您来说不明显,那么您应该再学习closures.

(顺便说一句,在这里可能不需要将big设置为null;一旦回调结束,big就超出了范围.)

编辑:为了纪念这个问题六周年,这里有一个同样的ECMA-6版本:

const big = html.get(url);
process.nextTick(() => callback(big));
相关文章
相关标签/搜索