<ul> <br/> <li>在nodejs下开发,发送http请求,一直没有response(回调一直没有触发……) <br/><ul style=“margin-bottom: 0; padding-bottom: 0;”> <br/> <li>nodejs文档中的例子,在回调中调用req.end()。这是错误的,必须在发送请求的代码段中调用,var req =http.request(opts, callback)。而不是在callback里调用……</li> <br/> <li>错误示例, <span style=“font-style: italic;”>var req = http.request(opts, function(res){…; req.end();})</span></li> <br/> <li>修正示例, <span style=“font-style: italic;”>var req = http.request(opts, function(res){…;}; req.end();</span></li> <br/></ul> <br/></li> <br/> <li>javascript 循环中回调函数闭包引发的杯具 <br/><ul style=“margin-bottom: 0; padding-bottom: 0;”> <br/> <li>for(var i = array.length; i–;) setTimeout(function(){console.log(array[i])}, 100);</li> <br/> <li>输出全部为:undefined</li> <br/> <li>解决: <br/><span style=“font-style: italic;”>function bugFix(unit){setTimeout(function(){console.log(unit)}, 100)} <br/>for(var i = array.length; i–;) bugFix(array[i]);</span></li> <br/></ul> <br/></li> <br/> <li>express编写rest服务,server已经使用server.use(express.bodyParser()),但请求中仍没有解释body。 <br/><ul style=“margin-bottom: 0; padding-bottom: 0;”> <br/> <li>客户端发送的请求中,headers里加入<span style=“font-weight: bold;”>“content-type”:“application/json”</span>。那么express就会自动解析json,req.body就会有东西……</li> <br/> <li>由于测试用例里,缺少这个,所以,req.body一直undefined…</li> <br/></ul> <br/></li> <br/></ul>
第二个不用重新定义一个函数,这样就可以了 <br/>for(var i = array.length; i–;) { <br/> var val = array[i]; <br/> setTimeout(function(){console.log(val)}, 100); <br/>}
对不起,我没经过验证就下了结论,我的方法是错误的 <br/>哪位来解答一下
我误解了js的变量作用域,花括号无法形成一个作用域,所以循环内定义的变量依旧是全局的
呵呵,我错了两次,才想着把它写下来…… <br/>javascript的作用域,是函数级的