尝试理解他人创建的代码时的新手问题。相信我,我试着理解这一点。这就是..
在我们得到我们需要的.post()并且已经发送了响应之后,有人还会在Request - module中调用像.qs()和.json()之类的函数。它们不会影响request.post,因为它们之后被调用,它们可以吗?
凭借我的技能,我无法从响应模块API文档(v2.22.0)中了解这些实际操作的内容。
这不是整个代码,但我试图在这里找到重要的部分:
// When request comes to /getthisapge, make external query and return data in JSON format.
var request = require('request');
module.exports = function(app) {
app.get('/getthispage', function(req, res, next) {
var filter = {};
var query = {};
filter.category = req.query.category;
query.onBehalf = req.query.onBehalf;
request.post(URIandoptions, function(error, response, body) {
res.json(body.members)
}).qs(query).json(filter);
}
}
答案 0 :(得分:1)
如果不确切知道post函数的作用(对你的问题不必要),你需要查看执行的顺序。
request.post(URIandoptions, function (error, response, body){
res.json(body.members)
})
.qs(query) // ?
.json(filter); // ?
传递到post()
的函数不会在特定时刻被调用。这是post()
函数可以随意使用的。这在技术上意味着可能永远不会调用该函数(取决于api)。
qs()
和json()
都会被调用。通常这种类型的api意味着以下内容:
post()
,传入要在完成时运行的函数qs()
以设置查询详情json()
告诉帖子功能如何操作,然后执行实际帖子,在检索数据后运行完成功能。