这是我的 CoffeeScript 代码:
http.createServer((req, res) ->
if req.method is "POST"
req.on "data", (data) ->
queryData += data
req.on "end", ->
_.process req.url.substring(1), queryData, (response) ->
res.writeHead 200,
"Content-Type": "text/plain; charset=utf-8"
fs.appendFile "./log", log, (err) ->
if err
console.log err
else
res.end response
else
res.writeHead 405,
"Content-Type": "text/plain"
res.end()
).listen 55385, "127.0.0.1"
这是我正在编译的内容:
http.createServer(function(req, res) {
if (req.method === "POST") {
req.on("data", function(data) {
return queryData += data;
});
return req.on("end", function() {
return _.process(req.url.substring(1), queryData, function(response) {
res.writeHead(200, {
"Content-Type": "text/plain; charset=utf-8"
});
return fs.appendFile("./log", log, function(err) {
if (err) {
return console.log(err);
} else {
return res.end(response);
}
});
});
});
} else {
res.writeHead(405, {
"Content-Type": "text/plain"
});
return res.end();
}
}).listen(55385, "127.0.0.1");
如您所见,这是多余的returns
。
我知道return
最后一行带有 void 的咖啡脚本技巧,但是在插入了这么多 void 返回后,代码变得比编译的要大。
有什么方法可以生成有效的 Node.JS 代码而无需额外的回报?