首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在node.js回调中维护作用域?

如何在node.js回调中维护作用域?
EN

Stack Overflow用户
提问于 2010-12-05 15:49:06
回答 4查看 12.6K关注 0票数 19

我是一名经验丰富的软件开发人员,但对于JS和node来说,我还是个新手。我不是超级嵌套代码的狂热爱好者,所以我一直在尝试将回调分解到它们自己的函数中。不过,我在弄清楚如何在回调触发时维护作用域时遇到了问题。深入研究后,我读到如果我在回调上创建一个闭包,它将会工作,但它似乎不会以我预期的方式工作。

这是一个非常简单的代码版本,它对我来说不起作用:

代码语言:javascript
复制
function writeBody()
{
    res.end("<h1> Hooray! </h1>");
}

http.createServer(function(req, res)
{
    res.writeHead('Content-Type', 'text/html');
    setTimeout(function(){writeBody()}, 2000);
}).listen(8000);

我以为通过将writeBody()调用包装在function()闭包中,我就可以在超时后获得所需的作用域,但是当writeBody()触发时,我得到

ReferenceError:未定义res

谁能告诉我我做错了什么愚蠢的事情?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4357881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档