Express - res.send()工作一次

Mah*_*iee 11 node.js express

我是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>');
        }

    })
...
Run Code Online (Sandbox Code Playgroud)

'Hello'已发送,但res.send('<p> .. </p>');不是.如果我发表评论res.send('Hello');,将会显示访问者.

提前致谢.

rob*_*lep 9

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);
      }
  })
});
Run Code Online (Sandbox Code Playgroud)

(或者只是res.send("Hello<p id=..."),但你明白了:)