cheatsheets/bluebird.md

65 lines
926 B
Markdown

---
title: bluebird.js
layout: default
---
See [promise](promise.html).
### Consuming promises
```js
promise
.then(okFn, errFn)
.spread(okFn, errFn) #*
.catch(errFn)
.catch(TypeError, errFn) #*
.finally(fn) #*
.map(function (e) { ... })
.each(function (e) { ... });
```
### Handling simultaneous promises
```js
Promise.any(promises) // succeeds if one succeeds first
.then(...)
```
or Objects
```js
Promise.props({
photos: get('photos'),
posts: get('posts')
})
.then(function (res) {
res.photos
res.posts
})
```
### Consuming arrays
```js
getFiles()
```
### Chain of promises
```js
Promise.try(function () {
if (err) throw new Error("boo");
return result;
});
### Working with node-style functions
```js
var readFile = Promise.promisify(fs.readFile);
var fs = Promise.promisifyAll(require('fs'));
```
### References
* https://github.com/petkaantonov/bluebird/blob/master/API.md