在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();
}
}
答案 0 :(得分:4)
req
是this
上的属性。这取决于this
在此背景下的含义。
通常,req
是为表示传入request
的对象保留的命名约定。
答案 1 :(得分:2)
req
是request
的缩写,它是来自客户端的HTTP请求数据。
答案 2 :(得分:1)
通常,约定req
是HTTP事务上请求对象的一部分。如果我不得不猜测这段小代码,那就是一个被解析为JSON的流式传输请求。请求由父对象调用,因此this
。最有可能的是,它将来自HTTP请求的JSON数据传输到API(可能是GroupMe API),并将其解析为一个对象,该对象可以更容易地被代码中的其他函数使用。
编辑:与this
不同,req
不是保留关键字。这是一种在引用HTTP事务时常用的约定,但可能并不总是保持相同的上下文,所以说明确指出一件事就是愚蠢而不知道它的功能。