Skip to content

amk221/ember-promise-cps

Repository files navigation

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 instead

Example

{{! application.hbs }}
{{items-list items-promise=promiseForItems}}
// items-list/component.js
import { promiseObject } from 'ember-promise-cps/macros';

export default Component.extend({
  items: promiseArray('items-promise')
});
{{! 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