jQuery - 停止功能

时间:2010-02-08 15:59:00

标签: jquery function

我想要实现的是,如果出现错误(我提出的错误)并包含单词'error',则该函数将停止在其轨道中。该功能基本上由5个ajax请求组成,当一个成功时,另一个踢...就像这样..

function thing() {
    $.ajax({
        ...
        ...  
        success: 
        function(html){
            errorGet(html);   
            $.ajax({
            ...
            ...  
            success: 
            function(html){
                errorGet(html);
                    ...
                ... 

我有一个函数'errorGet()'来尝试停止该函数;

function errorGet(data){
    var re = /error/mgi;
    if( data.search( re ) == 0 ){
        thing.stop;
    }
}

但是我知道thing.stop不起作用但有人知道如何停止这个过程吗?

2 个答案:

答案 0 :(得分:5)

你可以有一个函数来调用你的AJAX请求而不是异步。这种方式不必嵌套,只需return即可退出该功能。

function thing() {
    var stop = false;

    $.ajax({
        async: false,
        ...  
        success: 
        function(html){
            stop = errorGet(html);
        }
    }

    if(stop) {
        return false;
    }

    $.ajax({
        async: false,
        ...  
        success: 
        function(html){
            stop = errorGet(html);
        }
    }
}

function errorGet(data){
    var re = /error/mgi;
    if( data.search( re ) == 0 ){
        return false; //no error
    }
    return true;
}

答案 1 :(得分:2)

您是否尝试过抛出异常?

throw "there was an error so I am going to stop";