Javascript 未触发NodeJS res.on()。res.on()不是函数
我有一个NodeJS代码,使用请求模块向服务器发出请求。如果我使用“http.request”,代码工作正常,但在使用request进行调用时,res.on()上显示错误。以下是显示错误的部分:Javascript 未触发NodeJS res.on()。res.on()不是函数,javascript,node.js,http,get,Javascript,Node.js,Http,Get,我有一个NodeJS代码,使用请求模块向服务器发出请求。如果我使用“http.request”,代码工作正常,但在使用request进行调用时,res.on()上显示错误。以下是显示错误的部分: const Request = require("request"); . . . function getRequiredTime(lc, lat, lon, id, response, callback) { const start = new Date(); const ReqO
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时遇到的错误:
res.on()
是http
模块的事件,而不是request
模块的事件。在您的情况下,body
包含您的数据,当您将回调函数更改为
const getReq = Request(ReqObj, function (err, res, body) {
res.on()
是http
模块的事件,而不是request
模块的事件。在您的情况下,body
包含您的数据,当您将回调函数更改为
const getReq = Request(ReqObj, function (err, res, body) {
这是否意味着我可以使用request.on()来监听错误和正文?如果您使用的是
request
模块,则不可以。如果(err)和durationtime
将存在于body
,如果changeconst getReq=request(ReqObj,function(res))中,则只需使用{
对于我的代码片段,这是否意味着我可以使用request.on()来监听错误和正文?如果您使用的是request
模块,则不可以。您只需使用If(err)
检查错误,并且durationtime
将存在于正文中,如果changeconst getReq=request(ReqObj,function(res){
与我的代码片段