AV.User.current()这个函数返回当前user的原理
current: function() {
if (AV.User._currentUser) {
return AV.User._currentUser;
}
if (AV.User._currentUserMatchesDisk) {
return AV.User._currentUser;
}
// Load the user from local storage.
AV.User._currentUserMatchesDisk = true;
var userData = AV.localStorage.getItem(AV._getAVPath(
AV.User._CURRENT_USER_KEY));
if (!userData) {
return null;
}
AV.User._currentUser = AV.Object._create("_User");
AV.User._currentUser._isCurrentUser = true;
var json = JSON.parse(userData);
AV.User._currentUser.id = json._id;
delete json._id;
AV.User._currentUser._sessionToken = json._sessionToken;
delete json._sessionToken;
AV.User._currentUser._finishFetch(json);
//AV.User._currentUser.set(json);
AV.User._currentUser._synchronizeAllAuthData();
AV.User._currentUser._refreshCache();
AV.User._currentUser._opSetQueue = [{}];
return AV.User._currentUser;
}