Javascript 在Nodejs中,如何在不接收响应的情况下检测内容长度(响应大小)?

Javascript 在Nodejs中,如何在不接收响应的情况下检测内容长度(响应大小)?,javascript,node.js,request,content-length,Javascript,Node.js,Request,Content Length,我正在使用nodejs请求模块从nodejs请求rest服务器。是否可以确定将返回给我的数据的大小(在接受数据之前)?如果将返回给我的数据的大小超过我确定的数量,我想取消该操作。此处的目的是确保我的网络未被锁定 我的要求如下 const request = registry.get("requestPromiseNative"); const logger = registry.get("logger"); let env = registry.get("env"); class Smart

我正在使用nodejs请求模块从nodejs请求rest服务器。是否可以确定将返回给我的数据的大小(在接受数据之前)?如果将返回给我的数据的大小超过我确定的数量,我想取消该操作。此处的目的是确保我的网络未被锁定

我的要求如下

const request = registry.get("requestPromiseNative");
const logger = registry.get("logger");
let env = registry.get("env");

 class SmartContractFetch {
constructor() {
this.dataSizeFetched = 0; //in bytes
}

async fetchData(method, url, data = {}, header = {}) {
try {
  logger.info("Smart contract fetch işlemi başladı.");
  if (method.toUpperCase() === "POST") {
    console.log("POS içinde  : " + JSON.stringify(data));
    let response = await request.post({
      url: url,
      resolveWithFullResponse: true,
      form: data,
      headers: header
    });
    let responseJSON = JSON.parse(response.body);
    this.dataSizeFetched += response.body.length;
    logger.info(
      "Smart contract fetch işlemi başarıyla tamamlandı. Gelen Data : " +
        responseJSON
    );
    return responseJSON;
  } else if (method.toUpperCase() === "GET") {
    console.log("GET içinde  : " + JSON.stringify(data));
    let response = await request.get({
      url: url,
      resolveWithFullResponse: true,
      form: data,
      headers: header
    });
    this.dataSizeFetched += response.body.length;
    let responseJSON = JSON.parse(response.body);
    logger.info(
      "Smart contract fetch işlemi başarıyla tamamlandı. Gelen Data : " +
        responseJSON
    );
    return responseJSON;
  }
} catch (error) {
  logger.error(
    "Smart contract fetch işlemi başarısız. Sonuç : " + error.message
  );
  throw new Error(error);
}
 }
 }
 module.exports = SmartContractFetch;

可能的重复项在不引入数据的情况下无法理解数据的大小。如果不读取数据,则无法猜测响应大小。链接中的解决方案不会读取所有数据。它将其读取为流,并在极限处停止。不要担心网络资源。如果您为响应大小设置了一个下限,则不会对其产生影响。也许还有其他的解决方案,但我不认为你只能用Node来解决。谢谢你的回复。但是我并没有使用nodejs http的所有请求类型的流实例。我错了。@Zak谢谢你。这解决了我的问题。如果你能在下面回答我,我想投票给你的帖子。