请求:无法通过管道将响应发送到文件系统

时间:2018-12-14 15:25:20

标签: node.js express request fs

我正在使用express和npm:“ request-promise-native”模块。 我看到已解析的请求对象已满,并且一切都很好,但是他只是在文件系统中创建了一个空文件,而没有将内容管道传输到文件系统中。

我也没有收到任何错误消息。 如果有人能指出我正确的方向,那就太好了。

var request = require('request-promise-native');
var fs = require('fs');

var receivedReq = await request(buildReq);
receivedReq.pipe(fs.createWriteStream("my.html"));

1 个答案:

答案 0 :(得分:0)

request-promiserequest-promise-native与流is discouraged by the docs一起使用,因为与request相比,内存使用情况不是最佳的。如果您使用的是request-promise-native的较新版本,则request本身就是peerDependency,因此您已经安装了它。

您可以像这样使用它:

var request = require('request');
var fs = require('fs');

request(buildReq).pipe(fs.createWriteStream("my.html"));

如果出于某种原因,您仍然想对流使用request-promise-native,则只需将request-promise-native放在上面的require中,它应该可以工作。不需要await进行管道传递之前的请求。