65 lines
926 B
Markdown
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
|