在jQuery中暂停代码执行

时间:2014-10-09 14:32:45

标签: javascript jquery

我想知道有没有办法在jQuery中停止代码执行,直到返回函数结果。

functionName() {
    //user inserts something
    return user_insertion;
}
$(document).ready(function () {
    //code before
    if (var1.length > 1) result = functionName(data);
    else result = [data: 1, data: 2, data: 3];
    //code after, the one I want to pause execution of
    //do something with result that user inserted
});

2 个答案:

答案 0 :(得分:0)

JavaScript中根本没有sleep函数,因为它不支持线程(除了WebWorkers的概念,但这超出了范围)。

您正在寻找的可能是承诺模式。看一下这里的文档: http://api.jquery.com/promise/

您应该事先确定functionName()完成承诺。

答案 1 :(得分:0)

也许这可以帮到你:

functionName() {
    //user inserts something
    return user_insertion;
    callback();
}
function callback(){
  // do something after;
}
$(document).ready(function () {
    //code before
    if (var1.length > 1) result = functionName(data);
    else result = [data: 1, data: 2, data: 3];
    //code after, the one I want to pause execution of
    //do something with result that user inserted
});