diff options
Diffstat (limited to 'deps/npm/node_modules/call-limit/README.md')
-rw-r--r-- | deps/npm/node_modules/call-limit/README.md | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/deps/npm/node_modules/call-limit/README.md b/deps/npm/node_modules/call-limit/README.md new file mode 100644 index 0000000000..dc4f081dce --- /dev/null +++ b/deps/npm/node_modules/call-limit/README.md @@ -0,0 +1,85 @@ +call-limit +---------- + +Limit the number of simultaneous executions of a async function. + +```javascript +var fs = require('fs') +var limit = require('call-limit') +var limitedStat = limit(fs.stat, 5) +``` + +Or with promise returning functions: + +```javascript +var fs = Bluebird.promisifyAll(require('fs')) +var limit = require('call-limit') +var limitedStat = limit.promise(fs.statAsync, 5) +``` + +### USAGE: + +Given that: + +```javascript +var limit = require('call-limit') +``` + +### limit(func, maxRunning) → limitedFunc + +The returned function will execute up to maxRunning calls of `func` at once. +Beyond that they get queued and called when the previous call completes. + +`func` must accept a callback as the final argument and must call it when +it completes, or `call-limit` won't know to dequeue the next thing to run. + +By contrast, callers to `limitedFunc` do NOT have to pass in a callback, but +if they do they'll be called when `func` calls its callback. + +### limit.promise(func, maxRunning) → limitedFunc + +The returned function will execute up to maxRunning calls of `func` at once. +Beyond that they get queued and called when the previous call completes. + +`func` must return a promise. + +`limitedFunc` will return a promise that resolves with the promise returned +from the call to `func`. + +### limit.method(class, methodName, maxRunning) + +This is sugar for: + +```javascript +class.prototype.methodName = limit(class.prototype.methodName, maxRunning) +``` + +### limit.method(object, methodName, maxRunning) + +This is sugar for: + +```javascript +object.methodName = limit(object.methodName, maxRunning) +``` + +For example `limit.promise.method(fs, 'stat', 5)` is the same as +`fs.stat = limit.promise(fs.stat, 5)`. + +### limit.promise.method(class, methodName, maxRunning) + +This is sugar for: + +```javascript +class.prototype.methodName = limit.promise(class.prototype.methodName, maxRunning) +``` + +### limit.promise.method(object, methodName, maxRunning) + +This is sugar for: + +```javascript +object.methodName = limit.promise(object.methodName, maxRunning) +``` + +For example `limit.promise.method(fs, 'statAsync', 5)` is the same as +`fs.statAsync = limit.promise(fs.statAsync, 5)`. |