📜  节点 js 中的 res.write - Javascript (1)

📅  最后修改于: 2023-12-03 15:41:25.272000             🧑  作者: Mango

节点 js 中的 res.write

在 Node.js 中,我们可以使用 res.write() 方法将数据写入响应体中。本文将介绍 res.write() 方法的使用方法、其参数以及返回值。

使用方法

res.write() 方法接收一个字符串或者一个 Buffer 类型的数据作为参数,将该数据按照指定的字符编码写入响应体中。

res.write(chunk, [encoding], [callback]);

其中,chunk 为必选参数,表示要写入的数据。encoding 参数为可选参数,表示指定要写入数据的编码方式,默认为 utf-8。callback 参数为可选参数,表示在数据写入完成之后要执行的回调函数。

返回值

res.write() 方法返回一个布尔值,表示该方法是否已经将数据写入到响应体中。

const written = res.write(chunk, [encoding], [callback]);

if (!written) {
  // 当返回值为 false 时,应该停止继续写入数据
  res.once('drain', () => {
    // 在 drain 事件中继续写入数据
    res.write(nextChunk);
  });
}
示例

以下是一个简单的示例,该示例创建了一个 HTTP 服务器,根据请求 URL 中的参数返回不同的数据。

const http = require('http');

const server = http.createServer((req, res) => {
  // 设置状态码和响应头
  res.writeHead(200, {
    'Content-Type': 'text/plain;charset=utf-8',
  });

  const name = req.url.split('/')[1];

  if (name === 'hello') {
    res.write('你好,世界!');
  } else if (name === 'world') {
    res.write('世界,你好!');
  } else {
    res.write('请输入正确的 URL!');
  }

  // 结束响应
  res.end();
});

server.listen(3000, () => {
  console.log('server started at http://localhost:3000');
});

以上就是关于节点 js 中的 res.write() 的详细介绍。