当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Node.js response.write()用法及代码示例


response.write()(在 v0.1.29 中添加)方法是 ‘http’ 模块的内置应用程序接口,当请求是 HEAD 请求时,它会发送一个响应体块,该块被省略。如果调用了这个方法并且没有调用 response.writeHead(),它将切换到隐式头模式并刷新隐式头。

第一次调用 response.write() 时,会将缓冲的 header 信息和 body 的第一个 chunk 发送给客户端。第二次调用 response.write() 时,Node.js 假定数据将被流式传输并单独发送新数据。也就是说,响应被缓冲到正文的第一个块。块可以是字符串或缓冲区。如果块是字符串,则第二个参数指定如何将其编码为字节流。当这块数据被刷新时,回调将被调用。

为了获得响应和正确的结果,我们需要导入‘http’模块。

导入:

const http = require('http');

用法:

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

参数:此方法接受上述和以下所述的三个参数:

  • chunk <字符串> | <Buffer>:它接受任何缓冲区或字符串数​​据。
  • encoding <string>:默认编码集是‘utf8’。它接受字符串数据。
  • callback <Function>:接受回调函数。

返回值<Boolean>:如果全部数据成功刷新到内核缓冲区,则返回true;如果全部或部分数据在用户内存中排队,则返回false。当缓冲区再次空闲时,将发出“drain”。

下面的示例说明了在 Node.js 中使用 response.write() 属性。

范例1: 文件名:index.js


// Node.js program to demonstrate the 
// response.write() Method
  
// Importing http module
var http = require('http');
  
// Setting up PORT
const PORT = process.env.PORT || 3000;
  
// Creating http Server
var httpServer = http.createServer(function(request, response){
  
  // Writing string data
  response.write("Heyy geeksforgeeks ", 'utf8', () => {
      console.log("Writing string Data...");
  });
  
  // Prints Output on the browser in response
  response.end(' ok');
});
  
// Listening to http Server
httpServer.listen(PORT, () => {
    console.log("Server is running at port 3000...");
});

输出:

Output: In-Console

Server is running at port 3000…

Writing string Data…

现在在浏览器中运行http://localhost:3000 /。

Output: In-Browser

Heyy geeksforgeeks  ok

范例2: 文件名:index.js


// Node.js program to demonstrate the 
// response.write() Method
  
// Importing http module
var http = require('http');
  
// Setting up PORT
const PORT = process.env.PORT || 3000;
  
// Creating http Server
var httpServer = http.createServer(function(request, response){
  
  var str = "GeeksForGeeks wishes you a warm welcome...";
  
  // Writing string data with
  // 16-bit Unicode Transformation Format
  response.write(str, 'utf16', () => {
     console.log("Writing string Data...");
  });
  
  // Allocating predefined Buffer 'Hello world'
  const buf = Buffer.alloc(11, 'aGVsbG8gd29ybGQ=', 'base64');
  
  // Writing the buffer data.
  response.write(buf, 'utf8', () => {
     console.log("Writing Buffer Data...");
  });
  
  // Creating buffer
  const buff = Buffer.from(' hello world', 'utf8');
  
  // Writing the buffer data.
  response.write(buff, 'utf8', () => {
     console.log("Writing Buffer Data...");
  });
  
  // Prints Output on the browser in response
  response.end(' ok');
});
  
// Listening to http Server
httpServer.listen(PORT, () => {
    console.log("Server is running at port 3000...");
});

使用以下命令运行index.js文件:

node index.js

输出:

Output: In-Console

Server is running at port 3000…

Writing string Data…

Writing Buffer Data…

Writing Buffer Data…

现在在浏览器中运行http://localhost:3000 /。

Output: In-Browser

GeeksForGeeks wishes you a warm welcome…hello world hello world ok

参考: https://nodejs.org/api/http.html#http_response_write_chunk_encoding_callback


相关用法


注:本文由纯净天空筛选整理自vikas_g大神的英文原创作品 Node.js response.write() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。