# Promises and helpers, should use components instead?

**URL:** <https://discuss.emberjs.com/t/promises-and-helpers-should-use-components-instead/8572>\
**Category:** Uncategorized\
**Created:** [August 13, 2015, 11:12pm UTC](https://discuss.emberjs.com/t/promises-and-helpers-should-use-components-instead/8572 "2015-08-13T23:12:28Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Kilowhisky](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/kilowhisky/32/17044_2.png) [@Kilowhisky](https://discuss.emberjs.com/u/Kilowhisky)\
**Post date:** [August 13, 2015, 11:12pm UTC](https://discuss.emberjs.com/t/promises-and-helpers-should-use-components-instead/8572/1 "2015-08-13T23:12:28Z")

</div>

I need to wait on a promise in one of my helpers. I’ve tried returning just the promise and it displays `[object object]`. When i try to return a PromiseObject it just sets the display value to `<DS.PromiseObject:Ember1900>`.

Should i be using components for this instead?

Here’s my helper code.

```auto
export default Ember.Helper.extend({
    session: Ember.inject.service(),
    compute: function(params, hash) {
        let unitRecord;
        let user = this.get('session.user');
        switch (hash.assetCategory.get('id')) {
            case "0":
                unitRecord = user.get('speedAir');
                break;
            case "1":
                unitRecord = user.get('speedLand');
                break;
            case "2":
                unitRecord = user.get('speedSea');
                break;
            default:
                unitRecord = user.get('speedOther');
        }
        return DS.PromiseObject.create({
            promise: unitRecord.then((record) => {
                return (params[0] * record.get('centimeterFactor')) + record.get('shortName');
            })
        });
    },
    shoudRecompute: function() {
        this.recompute();
    }.observes('session.user.speedLand', 'session.user.speedAir', 'session.user.speedSea', 'session.user.speedOther'),

```
