Express – res.send()工作一次
我是Node和Express的新手,我试图用Express来制作一些东西,然后才面对这个问题。
第一个res.send()
工作正常,但第二个不会启动。
这是我的代码:
var express = require('express'), app = express(), fs = require('fs'), visits; app.listen(8080); app.get('/', function(req,res) { res.send('Hello'); fs.readFile('counter.txt','utf-8', function(e,d) { if (e) { console.log(e); } else { console.log(parseInt(d) + 1); fs.writeFile('counter.txt',parseInt(d) + 1); res.send('<p id="c">' + ( parseInt(d) + 1 ) + '</p>'); } }) ...
发送'Hello',但是res.send('<p> .. </p>');
不是。 如果我评论res.send('Hello');
,游客将被显示。
提前致谢。
res.send()
意味着被调用一次。
试试这个:
app.get('/', function(req,res) { var response = 'Hello'; fs.readFile('counter.txt','utf-8', function(e,d) { if (e) { console.log(e); res.send(500, 'Something went wrong'); } else { console.log(parseInt(d) + 1); fs.writeFile('counter.txt',parseInt(d) + 1); response += '<p id="c">' + ( parseInt(d) + 1 ) + '</p>'; res.send(response); } }) });
(或只是res.send("Hello<p id=...")
,但你得到的重点:)
这是因为res.send()完成发送响应。
当res.send('Hello');
遇到它立即发送响应。 所以下一个res.send
不执行,你不能看到访问者。 评论第一个res.send
可以让你查看第二个。