$ .when的Jquery问题

时间:2017-06-27 10:17:25

标签: javascript jquery ajax

我正在使用回调函数,它将检查60秒。如果文件可用则返回true否则返回false。我在ajax调用后调用的回调函数..这是下面的代码:

$.ajax({
    type: '..',
    url: '..',
    data: '..',
    success: function(data) {
        window.loadFile(data);
    }
})

window.loadFile = function(filePath) { // I'm getting the data. Now passing to call back function
    $.when(window.waitTillFileExistsAndLoad(filePath)).done(function(data) {
        alert(data) // here data is giving me undefined.. 
    });
}

var timer = 0;
window.waitTillFileExistsAndLoad = function(fileName) {

    var checkFile;

    return $.get(fileName, function(data) { // If file found.. 

        timer = 0;
        return true;

    }).error(function() { // If file not found.. 

        timer += 1; 

        if(timer == 30) {

            timer = 0;
            clearTimeout(checkFile);
            return false;

        } else {

            console.log('error occured');
            checkFile = setTimeout(function() {
                window.waitTillFileExistsAndLoad(fileName);
            }, 2000);

        }

    });
}

问题在于,当我使用$.when()时,它给了我未定义的内容。请告诉我我的代码中有什么问题。

0 个答案:

没有答案