我如何使用同步方法调用页面中的方法(等待每个方法的答案)?
我使用 async:false 进行了测试,但是在jQuery当前版本中不起作用。
function mainAction()
{
if (!action1())
{
console.log('error : action1');
return false;
}
if (!action2())
{
console.log('error : action2');
return false;
}
console.log('done');
return true;
}
以及我调用的每个函数的基本结构:
function action2()
{
$.ajax({
type: "GET",
url: someurl...,
dataType: "html",
timeout: 30000,
data:
{
//somedata...
},
success: function(data)
{
response = $.parseJSON(data);
return (response.status == 'ok');
},
error: function (jqXHR, textStatus, errorThrown)
{
console.error(textStatus + ' ' + errorThrown);
return false;
},
complete: function(jqXHR, textStatus)
{
}
});
}
每个语句的返回(成功/完成/错误)不会影响整个函数的返回,我需要在ajax完成后强制返回函数(布尔)吗?