恩伯解决财产上的承诺

时间:2014-07-23 17:25:34

标签: javascript ember.js

我有一个选择框,其内容是计算属性。 为了计算,我必须从商店找到一些记录。 Find返回一个必须解决的promise。但是如何?

以下是代码:

App.IndexController = Ember.Controller.extend({
  selectedCategory:null,
  person: function() {
      var self = this;
      //return [{"id":1,"name":"Dummy"}];

      return this.store.find('author',1).then(function(author){
        return author;
      });

    }.property('person'),
  actions: {
    submit: function() {
      //alert("Submitted!");
    } 
  }
});

和jsBin:http://jsbin.com/pexolude/167/edit

ps。:我知道我可以创建一个函数,并在then内设置person属性,但我想学习解析并返回promis'结果。 (如果可能的话。)

1 个答案:

答案 0 :(得分:1)

您尝试的方法不起作用,因为计算属性将返回承诺本身,而不是承诺返回的内容。

This answer使用计算属性详细说明 工作的方法(Ember v1.6.1)。但是,正如您所指出的那样,简单地定义从观察者内部设置属性可能更快,更易读。