Node.js 节点正在尝试从返回函数读取jpg数据流

Node.js 节点正在尝试从返回函数读取jpg数据流,node.js,stream,imdb,Node.js,Stream,Imdb,我正在尝试从omdb API获取海报数据,可在找到 我正在获取所有其他电影信息,但我正在与流进行斗争,我认为你应该从这个功能中获取海报 omdb API中的代码如下所示: // Get a Readable Stream with the jpg image data of the poster to the movie, // identified by title, title & year or IMDB ID. module.exports.poster = function (

我正在尝试从omdb API获取海报数据,可在找到

我正在获取所有其他电影信息,但我正在与流进行斗争,我认为你应该从这个功能中获取海报

omdb API中的代码如下所示:

// Get a Readable Stream with the jpg image data of the poster to the movie,
// identified by title, title & year or IMDB ID.
module.exports.poster = function (options) {
    var out = new stream.PassThrough();

    module.exports.get(options, false, function (err, res) {
        if (err) {
            out.emit('error', err);
        } else if (!res) {
            out.emit('error', new Error('Movie not found'));
        } else {
            var req = request(res.poster);
            req.on('error', function (err) {
                out.emit('error', err);
            });
            req.pipe(out);
        }
    });

    return out;
};
我怎么能从这里得到海报?我称之为使用omdb.poster(选项),但是我也不确定选项应该是什么


如果有人能帮我或给我指出正确的方向,我将不胜感激

您需要先读取流,然后再将其写入某个对象。下面的示例将向包含海报的文件系统写入一个JPEG文件

const omdb = require('omdb');
const fs = require('fs');
const writeStream = fs.createWriteStream('test.jpg')

omdb.poster({ title: 'Saw', year: 2004 })
    .on('data', (data) => {
        writeStream.write(data)
    })
    .on('end', () => {
        writeStream.end();
    });

没人知道怎么做?谢谢!我想出来了,但很高兴把它放在这里,供其他人将来参考!