An open API service indexing awesome lists of open source software.

https://github.com/amk221/ember-promise-cps

Computed property macros for working with promises
https://github.com/amk221/ember-promise-cps

computed-properties ember promises

Last synced: about 2 months ago
JSON representation

Computed property macros for working with promises

Awesome Lists containing this project

README

          

# ember-promise-cps

       

This Ember addon provides you with utils and computed property macros to aid with common problems when working with promises in components.

1. Subsequent promises take priorty over 'old' promises

(You're usually only ever bothered about the result from the most recent promise)
2. Setting the result of the promise on the component when the component may since have been destroyed will error.

## No longer maintained

Please use [http://ember-concurrency.com](http://ember-concurrency.com) instead

## Example

```handlebars
{{! application.hbs }}
{{items-list items-promise=promiseForItems}}
```

```javascript
// items-list/component.js
import { promiseObject } from 'ember-promise-cps/macros';

export default Component.extend({
items: promiseArray('items-promise')
});
```

```handlebars
{{! items-list/template.hbs }}
{{#if items.isPending}}
Loading items
{{else if items.isRejected}}
Unable to display items: {{items.reason}}
{{else if items.isFulfilled}}
{{#each items as |item|}}
...
{{/each}}
{{/if}}
```

### Available utils/macros

* Utils
* `promiseObject({ foo: 'bar' })`
* `promiseArray([ 'foo', 'bar' ])`
* Macros
* `promiseObject('myObject')`
* `promiseArray('myArray')`

### Installation
```
ember install ember-promise-cps
```