FIX: If an error occurs loading posts, revert state correctly
This commit is contained in:
parent
98b58150bb
commit
91efbc1830
|
@ -270,22 +270,26 @@ Discourse.PostStream = Em.Object.extend({
|
|||
@returns {Ember.Deferred} a promise that's resolved when the posts have been added.
|
||||
**/
|
||||
appendMore: function() {
|
||||
var postStream = this,
|
||||
rejectedPromise = Ember.Deferred.create(function(p) { p.reject(); });
|
||||
var postStream = this;
|
||||
|
||||
// Make sure we can append more posts
|
||||
if (!postStream.get('canAppendMore')) { return rejectedPromise; }
|
||||
if (!postStream.get('canAppendMore')) { return Ember.RSVP.reject(); }
|
||||
|
||||
var postIds = postStream.get('nextWindow');
|
||||
if (Ember.isEmpty(postIds)) { return rejectedPromise; }
|
||||
if (Ember.isEmpty(postIds)) { return Ember.RSVP.reject(); }
|
||||
|
||||
postStream.set('loadingBelow', true);
|
||||
|
||||
var stopLoading = function() {
|
||||
postStream.set('loadingBelow', false);
|
||||
};
|
||||
|
||||
return postStream.findPostsByIds(postIds).then(function(posts) {
|
||||
posts.forEach(function(p) {
|
||||
postStream.appendPost(p);
|
||||
});
|
||||
postStream.set('loadingBelow', false);
|
||||
});
|
||||
stopLoading();
|
||||
}, stopLoading);
|
||||
},
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue