亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

node Express框架中的res.send()和res.end()有什么區別

發布時間:2022-02-14 18:18:11 來源:億速云 閱讀:556 作者:iii 欄目:web開發

本篇內容主要講解“node Express框架中的res.send()和res.end()有什么區別”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“node Express框架中的res.send()和res.end()有什么區別”吧!

node Express框架中的res.send()和res.end()有什么區別

在使用 Node.js 的服務端代碼中,如果使用的是 Express 框架,那么對于一個請求,常常會有兩種響應方式:

// 方法1
app.get("/end", (req, res, next) =>{
    res.end(xxx);
});
// 方法2
app.get("/send", (req, res, next) =>{
    res.send(xxx);
});

那么這兩種方式究竟有何區別?各自的應用場景分別是什么?這是我今天需要講清楚的。

Express 之 res.end()

定義

它可以在不需要任何數據的情況下快速結束響應。

這個方法實際上來自 Node 核心,具體來說是 http.ServerResponse.Useresponse.end() 方法:

node Express框架中的res.send()和res.end()有什么區別

語法

res.end([data[, encoding]][, callback])

參數解析:

  • data <string> | <Buffer>

  • encoding <string>

  • callback <Function>

深入

如果給 res.end() 方法傳入一個對象,會發生報錯:

node Express框架中的res.send()和res.end()有什么區別

Express 之 res.send()

定義

向請求客戶端發送 HTTP 響應消息。

語法

res.send([body[,statusCode]])

body 參數可以是 Buffer、Object、String、Boolean 或 Array。

深入

通過代碼調試,我們可以發現,Express 的 res.send() 方法最終調用的也是 http.ServerResponse.Useresponse.end() 方法:

// node_modules/express/lib/response.js
res.send = function send(body) {
  var chunk = body;
  var encoding;
  ……
  if (req.method === 'HEAD') {
    // skip body for HEAD
    this.end();
  } else {
    // respond
    this.end(chunk, encoding);
  }
  return this;
};

對比

相同點

Express 的 res.end() 和 res.send() 方法的相同點:

  • 二者最終都是回歸到  http.ServerResponse.Useresponse.end() 方法。

  • 二者都會結束當前響應流程。

不同點

Express 的 res.end() 和 res.send() 方法的不同點:

  • 前者只能發送 string 或者 Buffer 類型,后者可以發送任何類型數據。

  • 從語義來看,前者更適合沒有任何響應數據的場景,而后者更適合于存在響應數據的場景。

到此,相信大家對“node Express框架中的res.send()和res.end()有什么區別”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

海丰县| 福鼎市| 邢台县| 广汉市| 雅安市| 拉孜县| 呈贡县| 比如县| 灌云县| 昭苏县| 邵阳市| 博乐市| 鄄城县| 玛多县| 邹平县| 天祝| 吉安县| 元江| 辽阳市| 咸丰县| 双流县| 兰州市| 花垣县| 云浮市| 天水市| 寿光市| 石渠县| 越西县| 梧州市| 新郑市| 绥化市| 高清| 板桥市| 临西县| 兰坪| 延长县| 安陆市| 信阳市| 宁城县| 福泉市| 南陵县|