当循环跟随语句时,为什么JS警报在console.log之前执行

时间:2012-01-02 14:24:20

标签: javascript

我有一个JS代码片段,用于引入正在进行的调用之间的暂停。摘录如下:

function intPause(_wg_time_msec) {
    var _wg_now = new Date();
    var _wg_expire = _wg_now.getTime() + _wg_time_msec;
    while(_wg_now.getTime() < _wg_expire)
        _wg_now = new Date();
}

现在我看到的是,如果在while循环之前向此函数添加警报,它会立即显示警报,然后运行while循环,但如果我添加console.log而不是alert,则console.log会回显while循环完成后的数据。有人可以帮助我理解这种行为,我怎样才能更好地在呼叫之间引入暂停。

1 个答案:

答案 0 :(得分:0)

使用jquery,您可以暂时将ajax调用设置为同步:

$.ajaxSetup({ "async": false });
// make synchornous ajax call
var jqHxr = $.get(....)
$.ajaxSetup({"async": true});