Ensure that promises always resolve, or that rejections are okay

This commit is contained in:
Scott Nonnenberg 2017-07-14 17:05:23 -07:00
parent 4da1722ee8
commit e6859a3684
3 changed files with 8 additions and 3 deletions

View file

@ -636,7 +636,9 @@
},
fetchMessages: function() {
if (!this.id) { return false; }
if (!this.id) {
return Promise.reject('This conversation has no id!');
}
return this.messageCollection.fetchConversation(this.id, null, this.get('unreadCount'));
},

View file

@ -624,7 +624,7 @@
// SELECT messages WHERE conversationId = this.id ORDER
// received_at DESC
};
this.fetch(options).then(resolve);
this.fetch(options).always(resolve);
}.bind(this)).then(function() {
if (unreadCount > 0) {
if (unreadCount <= startingLoadedUnread) {
@ -637,6 +637,7 @@
return;
}
console.log('fetchConversation: doing another fetch to get all unread');
return this.fetchConversation(conversationId, limit, unreadCount);
}
}.bind(this));

View file

@ -474,8 +474,10 @@
});
this.inProgressFetch = null;
}.bind(this));
}.bind(this)).catch(function(error) {
console.log('fetchMessages error:', error && error.stack ? error.stack : error);
this.inProgressFetch = null;
}.bind(this));
// TODO catch?
return this.inProgressFetch;
},