📜  Node.js http.IncomingMessage.complete 方法

📅  最后修改于: 2022-05-13 01:56:39.822000             🧑  作者: Mango

Node.js http.IncomingMessage.complete 方法

http.IncomingMessage.complete是 http 模块中 IncomingMessage 类的内置应用程序接口,用于检查是否接收到完整的 HTTP 消息并成功解析。

句法:

const message.complete

参数:此方法不接受任何参数作为参数。

返回值:当且仅当已接收并成功解析完整的 HTTP 消息时,此方法才返回 true。

示例 1:文件名:index.js

Javascript
// Node.js program to demonstrate the  
// request.complete 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){ 
  
  // Checking if message is parsed or not
  // by using request.complete Api
  const value = request.complete;
    
  // Display result
  response.end( "message has been sent : " 
      + value, 'utf8', () => { 
      console.log("displaying the result..."); 
  
      httpServer.close(()=>{
          console.log("server is closed")
      })
  }); 
}); 
    
// Listening to http Server 
httpServer.listen(PORT, () => { 
    console.log("Server is running at port 3000..."); 
});


Javascript
// Node.js program to demonstrate the  
// request.complete Method 
    
// Importing http module 
var http = require('http'); 
  
// Request and response handler 
const http2Handlers = (request, response) => { 
    
  // Checking if message is parsed or not
  // by using request.complete Api
  const value = request.complete;
    
  // Display result
  response.end( "message has been sent : " 
      + value, 'utf8', () => { 
      console.log("displaying the result..."); 
  
      httpServer.close(()=>{
          console.log("server is closed")
      })
  });
  }; 
    
// Creating http Server 
var httpServer = http.createServer(
    http2Handlers).listen(3000, () => { 
    console.log("Server is running at port 3000..."); 
});


输出:

输出:控制台内

Server is running at port 3000...
displaying the result...
displaying the result...
server is closed
server is closed

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

message has been sent : false

示例 2:文件名:index.js

Javascript

// Node.js program to demonstrate the  
// request.complete Method 
    
// Importing http module 
var http = require('http'); 
  
// Request and response handler 
const http2Handlers = (request, response) => { 
    
  // Checking if message is parsed or not
  // by using request.complete Api
  const value = request.complete;
    
  // Display result
  response.end( "message has been sent : " 
      + value, 'utf8', () => { 
      console.log("displaying the result..."); 
  
      httpServer.close(()=>{
          console.log("server is closed")
      })
  });
  }; 
    
// Creating http Server 
var httpServer = http.createServer(
    http2Handlers).listen(3000, () => { 
    console.log("Server is running at port 3000..."); 
});

输出:

输出:控制台内

Server is running at port 3000...
displaying the result...
displaying the result...
server is closed
server is closed

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

message has been sent : false

参考: https://nodejs.org/dist/latest-v12.x/docs/api/http.html#http_message_complete