jQuery $.when(..).完成(..)未按预期工作
jQuery $.when(...).done(...) not working as desired
我有一个定时关键函数,在完成几次 Ajax 调用之前无法执行。Ajax 调用从服务器发出请求,以获取在初始页面加载时填充字段所需的数据。
我的 Ajax 调用正在工作,但它们在调用关键函数GetUserDefaults()
之前没有完成。无论我在哪里设置断点(使用 Firefox),我都看到_MasterRules
总是按预期初始化,但没有断点GetUserDefaults()
在完成之前GetMasterRules()
被调用。谁能告诉我document.ready中的代码出了什么问题?
这是我的代码示例:
_MasterRules = null;
_UserDefaults = null;
$(document).ready(function () {
$.when( GetMasterRules() )
.done(function () {
GetUserDefaults() // <<== MUST NOT call until GetMasterRules() is complete
});
})
// Initialize Master Rules
function GetMasterRules() {
$.ajax({
type: "GET",
url: "/GetMasterRules",
dataType: "json"
})
.done(function (data) {
_MasterRules = data;
})
}
// _MasterRules must be initialized before calling
function GetUserDefaults() {
if (_MasterRules == null) {
alert("_MasterRules == null");
}
$.ajax({
type: "GET",
url: "/GetUserDefaults",
dataType: "json"
})
.done(function (data) {
_UserDefaults = data;
})
}
代码在将undefined
传递给$.when
时不会链接/等待延迟对象。
提示:从GetMasterRules
返回延迟。
相关文章:
- jQuery UI自动完成突然停止工作
- Jquery UI自动完成无法工作
- AngularJs中的自动完成功能无法正常工作
- 在pjax完成其工作时加载脚本
- 在自动完成中使用Google Maps Places API;API不工作
- 自动完成搜索无法正常工作,请不要迭代$中的所有元素.每个ul-li都会及时显示响应
- $.getJSON 到一个带有 include_once 的 php 失败了,但它完成了工作
- MVC 分部视图中的 JQuery UI 自动完成功能只能工作一次
- 谷歌地图自动完成,即使使用工作代码也无法工作
- 如何使Select2自动完成工作内foreach绑定的淘汰
- Async.js队列工作程序未完成
- Jquery自动完成不是't工作.我做错了什么
- JQueryshow()只有在我的函数完成后才能工作
- .change()不会'使用自动完成功能时无法在Chrome中工作
- 为什么不't谷歌只将自动完成工作放在一个城市
- 角度控制器的作用是什么;t控制器'他的工作由指令来完成
- 我已经完成了私有到公共 IP 的端口转发,但在公共 IP 中它不会渲染 geoip.js但它在本地地址上可以正常工作
- 它在第二次点击时完成工作,为什么
- 除非函数的工作完成,否则避免重复调用函数
- 当一个函数的工作完成时