我正在尝试使用$.when
和$.then
函数进行一些AJAX调用。
我正在使用这些函数来填充template
,同时,我想填写表格,我将填写一些消息,如
“正在加载数据..请稍候”
我发现有progress
个功能,但它仅适用于notify
。我搜索了整个社区,发现它与promise
电话一起使用。我没有真正理解promise
以及延迟对象如何在我的脚本中工作。
这是我的剧本:
$.when(e.get_info('get_utente'))
}).then(function(data){
$('#username').val(data.username);
$('#email').val(data.email);
})
我想在这两个调用之间插入进度。
很抱歉,如果有一些误解,但“直到现在我正在使用ASYNC : false
,并且在我注意到这是一个非常糟糕的主意后,我发现了延迟对象,但我根本没有得到它的逻辑
答案 0 :(得分:3)
进度回调此时并不真正适用于ajax请求。
相反,在$.when
之前执行“加载数据..请稍候”消息。
此外,您根本不需要$.when
,只需执行
$("#loading").show();
e.get_info('get_utente').done(function(data){
$("#loading").hide();
$('#username').val(data.username);
$('#email').val(data.email);
});
仅当需要在2个或更多承诺对象完成时运行时才需要 $.when
。对于单个promise对象,不需要它。