我想要实现的是,如果出现错误(我提出的错误)并包含单词'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不起作用但有人知道如何停止这个过程吗?
答案 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";