2
我是新来的这种东西,所以我想要一些设计建议。 比方说,我有这样的事情Javascript ajax懒惰加载和功能组织
$(function() {
$('#menuBtn').on('click', app.openUsersMenu);
});
var app = {
users: null,
openUsersMenu: function() {
if (app.users != null) {
//render menu
} else {
$.ajax({
url: '/getUsers.json'
}).success(function (data) {
app.users = data;
//render menu
});
}
}
}
它在干什么延迟加载和缓存的一个很好的方式,或者你会建议更好的方法? 避免两次编写渲染函数的通用解决方案是什么?当然,你可以有这样的:
var app = {
users: null,
openUsersMenu: function() {
if (app.users != null) {
app.renderMenu();
} else {
$.ajax({
url: '/getUsers.json'
}).success(function (data) {
app.users = data;
app.renderMenu();
});
}
},
renderMenu: function() {
//use app.users to render
}
}
但随后这两个函数,他们的名字变得相当混乱,从而可以更好地做这样的事情:
var app = {
users: null,
openUsersMenu: function() {
if (app.users != null) {
//render menu
} else {
$.ajax({
url: '/getUsers.json'
}).success(function (data) {
app.users = data;
app.openUsersMenu(); // Call itself, now with data
});
}
}
}
是最后一个模式是一个好主意?通常的做法是什么?
使用中间的一个。这很容易理解。 –