如何pipe理对共同请求模块和NodeJs中的文件的响应?

我使用Co-Request从http url中读取Zip文件,并且我有下面的代码从服务器读取..

该代码已经工作。 但是我不知道如何写一个文件的响应Zip。

var co = require( "co" ); var request = require( "co-request" ); var options = { url: "http://www.example.com/sample.zip", headers: { 'Token': Appconfig.Affiliate_Token, 'Affiliate-Id' : Appconfig.Affiliate_Id } } console.log( "Downloading : zip file" ); var j = yield request( options ); 

共同请求实际上是对Request的包装,我发现下面的代码将文件传输到stream中。 但不知道如何使用共同请求和yield来编写相同的代码。

 request.get('http://example.com/img.png').pipe(request.put('http://example.com/img.png')) 

请帮助如何使用良率和共同请求将响应zip写入文件

数据已经从响应中发出后,我想请求无法pipe道

使用请求而不是共同请求,写一个承诺来实现这一点

 var co = require('co'); var request = require('request'); var fs = require('fs'); var url = 'http://google.com/doodle.png'; var requestPipToFile = function(url, filepath) { return new Promise(function(resolve, reject) { try { var stream = fs.createWriteStream(filepath); stream.on('finish', function() { console.log("pipe finish"); return resolve(true); }); return request(url).pipe(stream); } catch (e) { return reject(e); } }); }; co(function*() { var value = (yield requestPipToFile(url, './outfile')); return value; }).then(function(value) { return console.log(value); }).catch(function(err) { return console.error(err); });