我最近开始了一个使用重型客户端 jQuery/javascripts 的项目。我正在努力让其中一个屏幕正常工作。
我的功能如下:
function init{
populateTypes();
populateGroups();
populateStatuses();
applyCurrentUserSettings();
}
所有populate*
方法都对服务器进行 ajax 调用 ( $.ajax
) 并填充视图上的一些复选框列表。applyCurrentUserSettings
方法还发出 ajax 请求并在视图上设置当前用户选择。
问题是populate*
方法是异步的,并且通过applyCurrentUserSettings
调用该方法,复选框列表“有时”为空,并且应用方法失败。
我可以通过传入调用来完成这项工作,或者async: false
将$.ajax
每个 ajax 调用链接到另一个调用中,但我想知道是否有更好的方法/设计模式来处理这种情况。