我们正在尝试设计一个需要节省网络消费的网络应用。我们正在使用Firebase。
Firebase JS SDK声称它具有脱机功能,但此示例使用promises来缓存用户数据。 http://jsfiddle.net/firebase/jgay49r0/embedded/result,js/
似乎离线功能使得基于UsersCache的承诺变得多余。
function UsersCache( refToUsersPath ) {
this.ref = refToUsersPath;
this.userPromises = {};
}
UsersCache.prototype.getUser = function(userId) {
if( !this.userPromises.hasOwnProperty(userId) ) {
this.userPromises[userId] = this._monitor(userId);
}
return this.userPromises[userId];
};
UsersCache.prototype._monitor = function(userId) {
var def = $.Deferred();
this.ref.child(userId).on('value', function(snapshot) {
def.resolve(snapshot.val());
});
return def.promise();
};
有人可以评论并帮助我们选择最佳途径吗?