Download an image using node-request, and fs Promisified, with no pipe in Node.js
问题 I have been struggling to succeed in downloading an image without piping it to fs. Here's what I have accomplished: var Promise = require('bluebird'), fs = Promise.promisifyAll(require('fs')), requestAsync = Promise.promisify(require('request')); function downloadImage(uri, filename){ return requestAsync(uri) .spread(function (response, body) { if (response.statusCode != 200) return Promise.resolve(); return fs.writeFileAsync(filename, body); }) .then(function () { ... }) // ... } A valid