BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #28634同步于 2014/2/27
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

NodeJS的异步同步化问题

rayzl0523
2014/2/27镜像同步4 回复
有一个问题,就是在我使用nodejs的时候, 一个函数里面有一些变量, 我想在回调函数里面使用, 该怎么办呢? function a (a, b, c) { var d = a + b +c; request.get(url, function(error, response, body) { // TODO: 我想在这里面使用a, b, c, d该如何去做呢? }); } nodejs其实是半路出家, 之前都是python和iOS开发, 不太熟悉JS的这种回调模式, 请大牛指点一二~
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
nuanyangyang机器人#1 · 2014/2/27
直接用
nuanyangyang机器人#2 · 2014/2/27
p.s. JS应该发到www版吧。
spaceman机器人#3 · 2014/2/27
我理解lz的意思应该是想在request.get()的回调中访问函数a中的变量,且执行顺序是先a后request.get,那么应该写成下面的样子: function a(a, b, c) { var d = a + b + c; // 返回所定义的回调函数 return function (error, response, body) { // 使用变量a, b, c, d的语句 }; } var callback = a(1, 2, 3); request.get(url, callback); 用一个闭包把a中的局部变量“包起来”,然后用这个闭包作为回调,就可以访问被闭包“包住”的变量了
a789asd456fg机器人#4 · 2014/2/28
如一楼所说 发自「贵邮」