gpt4 book ai didi

javascript - NodeJS res.on() 未触发。 res.on() 不是函数

转载 作者:行者123 更新时间:2023-12-01 01:31:32 29 4
gpt4 key购买 nike

我有一个 NodeJS 代码,使用请求模块向服务器发出请求。如果我使用“http.request”,代码工作正常,但在 res.on() 上显示错误使用请求来调用电话。以下是显示错误的部分:

const Request = require("request");
.
.
.
function getRequiredTime(lc, lat, lon, id, response, callback) {

const start = new Date();
const ReqObj = {
host: 'localhost',
port: process.env.PORT,
path: '/something/' + lc + '/' + lat + '/' + lon +'/' + id,
method: 'GET'
};


const RespObj = {};
const requestBody = {};

requestBody.id = id;
requestBody.app_name = "someApp";
requestBody.hostname = ReqObj.hostname;
requestBody.path = ReqObj.path;
requestBody.msg = "Some message";
requestBody.body = "";
logger.info(JSON.stringify(requestBody));

const getReq = Request(ReqObj, function (res) {

if (res.statusCode === 400) {
response.send("Some message");
} else if (res.statusCode === 500) {
response.send("Some message");
} else if (res.statusCode === 501) {
response.send("Some message");
} else {

let duration = parseInt(15);

res.on('data', function (durationtime) {
const end = new Date();
const end = *****;
const responseDat = {
'id': id,
'start': start,
'end': end,
'time': end,
'service_name': 'someName'
};

duration += parseInt(durationtime);
const time = parseInt(duration);
RespObj.id = id;
RespObj.app_name = "getApp";
RespObj.msg = "Some message";
RespObj.body = time;
logger.info(JSON.stringify(RespObj));
callback(time);

});

res.on('error', function (error) {
logger.error(`ERROR`);

});
}
});
getReq.end();
};
.
.
.

这是我在尝试使用 ARC 或 postman 访问 url 时遇到的错误:

TypeError: res.on is not a function at Request._callback
at self.callback
at Request.emit
at Request.init
at new Request

最佳答案

res.on()http 模块的事件,而不是 request 模块的事件。在您的情况下,body 包含您的数据,并且将回调函数更改为

时不需要 res.on 事件
const getReq = Request(ReqObj, function (err, res, body) {

关于javascript - NodeJS res.on() 未触发。 res.on() 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53236501/

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