Adam Rensel b05888e79d Add the correct demo app 10 年之前
..
node_modules b05888e79d Add the correct demo app 10 年之前
test 0ad841a423 init commit 10 年之前
.editorconfig 0ad841a423 init commit 10 年之前
.jshintrc 0ad841a423 init commit 10 年之前
.npmignore 0ad841a423 init commit 10 年之前
.travis.yml 0ad841a423 init commit 10 年之前
LICENSE 0ad841a423 init commit 10 年之前
README.md 0ad841a423 init commit 10 年之前
index.js 0ad841a423 init commit 10 年之前
package.json b05888e79d Add the correct demo app 10 年之前

README.md

request-progress Build Status

Tracks the download progress of a request made with request.

Installation

$ npm install request-progress

Usage

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

// Note that the options argument is optional
progress(request('http://google.com/doodle.png'), {
    throttle: 2000,  // Throttle the progress event to 2000ms, defaults to 1000ms
    delay: 1000      // Only start to emit after 1000ms delay, defaults to 0ms
})
.on('progress', function (state) {
    console.log('received size in bytes', state.received);
    // The properties bellow can be null if response does not contain
    // the content-length header
    console.log('total size in bytes', state.total);
    console.log('percent', state.percent);
})
.on('error', function (err) {
    // Do something with err
})
.pipe(fs.createWriteStream('doodle.png'))
.on('error', function (err) {
    // Do something with err
})
.on('close', function (err) {
    // Saved to doogle.png!
})

Note that the state object emitted in the progress event is reused to avoid creating a new object for each event.

License

Released under the MIT License.