16

我有一个 Ember-Data 模型。我想在加载后在 .then 承诺中进行一些处理,然后返回与承诺相同的模型。这就是我现在所拥有的。如何将返回对象包装为一个承诺,以便可以链接其他承诺?

App.Member.find(1).then(function(member){

  //do some processing here
  return member; // Does this need to be wrapped as a promise?

} 
4

1 回答 1

35

基本上你可以像这样创建一个承诺:

var promise = new Ember.RSVP.Promise(function(resolve, reject){
  // succeed
  resolve(value);
  // or reject
  reject(error);
});

然后您可以使用该then属性进一步链接它:

promise.then(function(value) {
  // success
}, function(value) {
  // failure
});

你也可以看看这个jsbin,它展示了它们是如何实现的。这很有帮助。

希望能帮助到你。

于 2013-07-04T17:57:56.283 回答