gpt4 book ai didi

node.js - 最近更新后请求 npm 模块不工作

转载 作者:搜寻专家 更新时间:2023-11-01 00:05:57 25 4
gpt4 key购买 nike

代码在 20 天之前工作得非常好,现在我尝试运行相同的代码,但它不再工作了(甚至没有显示任何错误)。

     var request = require("request");
var dataToSend = {
key: "value",
key1: "value1"
};

request.post({
url: 'http://localhost:9092/services/reports/generateReport',
form: dataToSend
}, function optionalCallback(err, httpResponse, body) {
if (err) {
return console.error('upload failed:', err);
}
})
.on('response', function (response) {
console.log('success log');
res.download('public/uploads/report.pdf');
})
.on('error', function (response) {
console.log('Error downloading report file');
})
.pipe(fs.createWriteStream('public/uploads/report.pdf'));

输出总是“成功日志”。即使我写了一些随机 URL,它也会显示“成功日志”

Web 服务工作正常,我已经用外部 REST 客户端对其进行了验证。

这里的问题是:

1) 不管我写什么 URL,都会进入“响应”部分而不给出任何“错误”。

2) 如何调试呢?没有显示任何错误

注意:最近request模块有更新,会不会是个问题?

我正要将此代码推送到生产环境中,但在运行 npm install 时出现错误。请帮助我,我不想移动到另一个 rest HTTP 客户端。

node v4.4.5
npm v3.10.8
request v2.75.0

最佳答案

传递回调时无需定义事件处理程序。代码可以重构为:

request.post({
url: 'http://localhost:9092/services/reports/generateReport',
form: dataToSend
}, function optionalCallback(err, httpResponse, body) {
if (err) {
console.error('upload failed:', err);

return res.status(500);
}

//
// TODO: Check if the HTTP status code fits your expectations:
//
// if (httpResponse.status !== 201) {
// return res.status(500);
// }
//

res.download('public/uploads/report.pdf');
});

希望对您有所帮助:)

关于node.js - 最近更新后请求 npm 模块不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39974587/

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