Javascript 将服务调用的响应获取到变量中
我正在使用下面的代码段进行COAP服务调用,并得到响应。根据代码,我可以在日志中打印响应Javascript 将服务调用的响应获取到变量中,javascript,Javascript,我正在使用下面的代码段进行COAP服务调用,并得到响应。根据代码,我可以在日志中打印响应 var req = coap.request('coap://localhost/hello') req.on('response', function(res) { res.pipe(process.stdout); }); 我需要得到一个变量的响应字符串,以便进一步处理。我尝试了console.log(res)并在日志中找到了以下内容,但在其中找不到响应字符串。如何获取变量的响应字符串(正文),而不
var req = coap.request('coap://localhost/hello')
req.on('response', function(res) {
res.pipe(process.stdout);
});
我需要得到一个变量的响应字符串,以便进一步处理。我尝试了console.log(res)并在日志中找到了以下内容,但在其中找不到响应字符串。如何获取变量的响应字符串(正文),而不是将其打印在日志上?我认为它被包装在有效负载中
。我需要一根绳子
IncomingMessage {
_readableState:
ReadableState {
objectMode: false,
highWaterMark: 16384,
buffer: [],
length: 0,
pipes: null,
pipesCount: 0,
flowing: null,
ended: false,
endEmitted: false,
reading: false,
sync: true,
needReadable: false,
emittedReadable: false,
readableListening: false,
resumeScheduled: false,
defaultEncoding: 'utf8',
ranOut: false,
awaitDrain: 0,
readingMore: false,
decoder: null,
encoding: null },
readable: true,
domain: null,
_events: {},
_eventsCount: 0,
_maxListeners: undefined,
payload: <Buffer 48 65 6c 6c 6f 20 74 68 65 72 65>,
options: [],
code: '2.05',
method: undefined,
headers: {},
url: '/',
rsinfo: { address: '127.0.0.1', family: 'IPv4', port: 5683, size: 20 },
outSocket: { address: '0.0.0.0', family: 'IPv4', port: 41185 },
_packet:
{ code: '2.05',
confirmable: false,
reset: false,
ack: true,
messageId: 24618,
token: <Buffer d8 41 e0 57>,
options: [],
payload: <Buffer 48 65 6c 6c 6f 20 74 68 65 72 65> },
_payloadIndex: 0 }
IncomingMessage{
_可读状态:
可读状态{
objectMode:false,
高水印:16384,
缓冲区:[],
长度:0,
管道:null,
管道:0,
流:null,
结束:错,
提交:错误,
阅读:错,
是的,
答案:错,
错误:错误,
可读性听力:错误,
resumeScheduled:false,
defaultEncoding:'utf8',
拉诺:错,
时间:0,,
阅读更多:错误,
解码器:空,
编码:null},
可读性:对,
域:空,
_事件:{},
_事件提示:0,
_maxListeners:未定义,
有效载荷:,
选项:[],
代码:'2.05',
方法:未定义,
标题:{},
url:“/”,
rsinfo:{地址:'127.0.0.1',系列:'IPv4',端口:5683,大小:20},
outSocket:{地址:“0.0.0.0”,系列:“IPv4”,端口:41185},
_数据包:
{代码:'2.05',
可证实:假,
重置:错误,
阿克:是的,
messageId:24618,
令牌:,
选项:[],
有效载荷:},
_payloadIndex:0}
您的响应是一条流。您可以通过读取()将流读入字符串:
什么是
响应字符串
?您需要读取有效负载。文档中应包括如何做到这一点。一旦你阅读了有效载荷,这些问题及其答案可能会很有用:,@Liam答案的主体我真的不明白否决这个问题的原因我真的不清楚你的问题是什么?您是否询问如何访问对象的属性?您是否检查了进程.stdout.IncomingMessage
等?
req.on('response', function(res) {
let result = res.read().toString();
console.log(result);
});