gpt4 book ai didi

javascript - 为什么在request.post之后修改request

转载 作者:行者123 更新时间:2023-12-03 06:04:31 24 4
gpt4 key购买 nike

新手在尝试理解其他人创建的代码时提出的问题。相信我,我试图理解这一点。就这样..

在我们通过 .post() 获得所需内容并发送响应后,为什么有人仍然会在 Request 模块中调用 .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);
}
}

最佳答案

如果不确切知道 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() 告诉 post 函数如何执行,该函数进而执行实际的 post,在检索数据后运行完成函数。

关于javascript - 为什么在request.post之后修改request,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39616472/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com