我試圖暫停在它執行中間的腳本,我如何做到這一點不沾它變成一個setTimeout的?問題是這只是代碼的一小部分,剩下的就是一大堆,並且通過將其粘貼到setTimeout中可能會引起混淆。暫停腳本執行
$.ajax({
type: 'POST',
url: rAction,
data: rData,
success: function(msg){
// BEFORE PROCEEDING TO THE FOLLOWING CODE, WAIT 5 SECONDS
wait(5000); //?
$('h1').hide();
$('#result').html(msg);
$('#alertTxt').html($('#result .system-error-message').html());
$('#alert').slideDown('fast');
$('#regForm').slideUp('fast');
$("html, body").animate({ scrollTop: 170 }, 600);
$('#but_submit').show();
$('#processing').hide();
});
我會給你的成功函數一個名字並將其移出ajax命令。然後你將函數中的代碼部分分解爲更多的命名函數。那麼你可以很容易地通過setTimeout來根據需要調用這些子部分。外功能提供了一個僞全球變量namepsace,其與從子功能閉合組合,可以很容易地管理跨越一個異步流狀態而不通常與回調相關聯的複雜的嵌套。 – dandavis