我需要运行 2 个函数。第二个必须等待第一个完成,否则事情会变得一团糟。我的代码如下:
我研究过使用 jQuery.when()
以及使用 .then
和 .done
但每次我在本地尝试时我都没有'无法让它正常工作,因为老实说我没有正确理解文档。
我还尝试遵循此处的其他问题,这些问题在函数中使用回调来实现此目的。同样,他们的代码略有不同,并且更多地基于 Ajax,因此我很难准确地遵循。
我没有在下面的代码中包含我对上述内容的尝试,因为它会像一团糟并且会令人困惑。我认为为了问题的目的清楚地显示我的原始代码和这两个函数是最好的。
提前感谢您的支持...
var reportFilter = $.cookie("filter");
if (reportFilter == 'true') {
// function 1 - Run First
$('table tbody tr').each(function () {
var hours = $(this).find('.time').text();
if (hours == '0') {
$(this).addClass('hidden');
}
});
// function 2 - Run After Function 1 is complete
$('table tbody tr').each(function () {
var nextTR = $(this).next();
if (nextTR.hasClass('hidden') && (nextTR.hasClass('odd') || nextTR.hasClass('even'))) {
$(this).addClass('hidden');
}
});
}
最佳答案
这两个函数似乎没有任何依赖关系。它们将按照调用的顺序运行。
休息一下,确保它们按照您希望的顺序被调用,您绝对可以使用调试器或在函数中发出警报并进行检查。
阅读此链接以供引用:-
Wait till a Function with animations is finished until running another Function
希望这有帮助!
关于javascript - 等待 1 个函数完成后再运行下一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20284132/