在nodejs中`req`是指什么?

时间:2014-12-24 22:52:08

标签: javascript node.js

在GroupMe聊天机器人的代码中,变量request的定义如下:

var request = JSON.parse(this.req.chunks[0]);

我试图找出这意味着什么。特别是req指的是什么?

编辑:这是显示的功能:

function respond() {
  var request = JSON.parse(this.req.chunks[0]),
      botRegex = /^deadline ([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$/;
      botRegex2 = /^\/oranges$/;

  if(request.text && botRegex.test(request.text)) {
    this.res.writeHead(200);
    postDeadline();
    this.res.end();
  } else if (request.text && botRegex2.test(request.text)) {
    this.res.writeHead(200);
    postOranges();
    this.res.end();
  } else {
    console.log("don't care");
    this.res.writeHead(200);
    this.res.end();
  }
}

3 个答案:

答案 0 :(得分:4)

reqthis上的属性。这取决于this在此背景下的含义。

通常,req是为表示传入request的对象保留的命名约定。

答案 1 :(得分:2)

reqrequest的缩写,它是来自客户端的HTTP请求数据。

答案 2 :(得分:1)

通常,约定req是HTTP事务上请求对象的一部分。如果我不得不猜测这段小代码,那就是一个被解析为JSON的流式传输请求。请求由父对象调用,因此this。最有可能的是,它将来自HTTP请求的JSON数据传输到API(可能是GroupMe API),并将其解析为一个对象,该对象可以更容易地被代码中的其他函数使用。

编辑:与this不同,req不是保留关键字。这是一种在引用HTTP事务时常用的约定,但可能并不总是保持相同的上下文,所以说明确指出一件事就是愚蠢而不知道它的功能。