用jQuery调用javascript同步方法

时间:2018-07-11 16:05:35

标签: javascript jquery asynchronous

我如何使用同步方法调用页面中的方法(等待每个方法的答案)?

我使用 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完成后强制返回函数(布尔)吗?

0 个答案:

没有答案