从嵌套函数返回一个值

时间:2017-07-24 20:07:10

标签: javascript jquery nested-function

我有这个代码可以完美地测试指定的URL是否有效

$.ajax({
    url:'test.pdf',
    type:'HEAD',
    error: function()
    {
        console.log("Doesn't exist");
    },
    success: function()
    {
        console.log("exists");
    }
});

当我尝试通过执行此操作将其转换为函数时,我的问题就出现了

function URLExists(URL) {
    var exists = false;
    $.ajax({
        url:URL,
        type:'HEAD',
        error: function()
        {
            console.log('false');
            exists = false;
        },
        success: function()
        {
            console.log('true');
            exists = true;
        }
    });
    console.log('returning ' + exists);
    return exists;
}

我不能在return truereturn false内执行error:success:,因为它只会在该函数中返回,而不是URLExists()功能。我在Google上搜索时看到的所有答案都是返回嵌套函数,但我似乎无法在此处执行此操作。当我尝试在上面发布的更改变量时,URLExists()在变量更改之前返回(之前至少一整秒)。我敢肯定有一些相当简单的方法可以做到这一点,这对我来说并不熟悉。

0 个答案:

没有答案