我有一个快递服务器,我想写一些类似的东西
for(p in params)
app.get("/"+p,function (req, res) {res.send(p)});
现在,对于 params[0],请求到达,但响应是 params[n-1]
您可以使用匿名函数在每次迭代时复制“p”。
var http = require('http');
var express = require('express');
var app = express();
var params = {
'a' : 1,
'b' : 2,
'c' : 3
};
for (p in params) {
(function (p) {
app.get('/' + p, function (req, res) { res.send(p); });
})(p);
}
http.createServer(app).listen(1339, '0.0.0.0');