我有nodeJs的其余API服务器。
它具有一些用于将文件上传到另一个nodeJs服务器的控制器(负责将文件上传到AWS存储桶)。
下面的代码都可以正常工作,问题是我想捕获管道的响应并将其打印到日志中。
req.pipe(request.post({ url: url, qs: qs}))
.pipe(res)
.on('error', ((err) => {
log.error(`getAudioSoundFile:: error: ${err} ${err && err.message}`);
return reject(err);
}))
.on('response', ((res2) => {
log.debug(`========================================`);
log.debug(`On response: ${res2['path']}`);
}))
.on('finish', ((res1) => {
// Update the exam status with question that was done
log.debug(`========================================`);
log.debug(`On Finish: ${res['path']}`);
log.debug(`On Finish: ${res1['path']}`);
return resolve(res);
}))
响应正确返回到客户端:
{ path: "some path" }
但是当尝试打印到记录仪时,我无法定义。
答案 0 :(得分:0)
我找到了解决方案,不确定这是否是最佳实践:
req.pipe(request.post({ url: url, qs: qs}))
.on('data', ((data) => {
log.debug(`getAudioSoundFile:: Path saved in AWS: ${data.toString()}`);
}))
.pipe(res)
.on('error', ((err) => {
log.error(`getAudioSoundFile:: error: ${err} ${err && err.message}`);
return reject(err);
}))
.on('finish', ((res) => {
return resolve(res);
如果有人需要,请在此处发布。