在满足条件之前不要运行功能

Kin*_*rog 1 javascript setinterval

我有2个值

var maxValues;
var incrementValues;
Run Code Online (Sandbox Code Playgroud)

我有一个功能.

runFunction();
Run Code Online (Sandbox Code Playgroud)

值基于ajax成功而增加.

如何检查maxValues是否等于incrementValues,一旦它们相等,那么运行runFunction().

Dan*_* W. 6

在ajax请求的回调中添加检查success.

这比使用间隔更好.

var check = function (maxValues, incrementValues) {
    if (maxValues == incrementValues) {
        runFunction();
    }
};

$.get( "example.php", function(data) {
    // Ajax successful
    check(data.maxValues, data.incrementValues);
});
Run Code Online (Sandbox Code Playgroud)

或者@TedHopp建议,使用always回调:

$.get( "example.php", function() {
    // Ajax successful

}).always(function() {
    // success or no success, just "always"
    check(maxValues, incrementValues);
});
Run Code Online (Sandbox Code Playgroud)

查看jQuery API文档以获取更多信息.

如果你不想将它添加到每个ajax请求,你可以构建一个自定义Ajax函数,它隐式调用你的检查,看到这个答案的帮助:jQuery AJAX自定义函数和自定义回调?.