mirror of https://github.com/lukechilds/node.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
675 B
41 lines
675 B
9 years ago
|
# iferr
|
||
|
|
||
|
Higher-order functions for easier error handling.
|
||
|
|
||
|
`if (err) return cb(err);` be gone!
|
||
|
|
||
|
## Install
|
||
|
```bash
|
||
|
npm install iferr
|
||
|
```
|
||
|
|
||
|
## Use
|
||
|
|
||
|
### JavaScript example
|
||
|
```js
|
||
|
var iferr = require('iferr');
|
||
|
|
||
|
function get_friends_count(id, cb) {
|
||
|
User.load_user(id, iferr(cb, function(user) {
|
||
|
user.load_friends(iferr(cb, function(friends) {
|
||
|
cb(null, friends.length);
|
||
|
}));
|
||
|
}));
|
||
|
}
|
||
|
```
|
||
|
|
||
|
### CoffeeScript example
|
||
|
```coffee
|
||
|
iferr = require 'iferr'
|
||
|
|
||
|
get_friends_count = (id, cb) ->
|
||
|
User.load_user id, iferr cb, (user) ->
|
||
|
user.load_friends iferr cb, (friends) ->
|
||
|
cb null, friends.length
|
||
|
```
|
||
|
|
||
|
(TODO: document tiferr, throwerr and printerr)
|
||
|
|
||
|
## License
|
||
|
MIT
|