當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。