gpt4 book ai didi

jQuery 递归函数错误

转载 作者:行者123 更新时间:2023-12-01 08:24:23 25 4
gpt4 key购买 nike

我试图使以下递归函数起作用,但不断收到错误(以下代码):

var checkStatus = function(jobID) {
$.ajax({
type: 'post',
url: '/admin/process/check-encode-status.php',
data: {jobID: jobID},
success: function(data) {
if (data == 'processing') {
checkStatus(jobID).delay(2000);
} else {
$("#videoOutput").html(data);
}
}
});
};

我收到的错误是:checkStatus(jobID) 未定义

一切似乎都按预期进行,Firebug 只是抛出此警告。该函数不断重复自身,发布 jobID 并从 PHP 脚本接收“处理”。

我有一个类似的脚本,我正在使用它使用 setTimeout() 进行递归,但我无法弄清楚如何传递 jobID 以及调用函数(错误)。

有什么想法吗?谢谢!

最佳答案

只需删除 .delay() 即可消除错误。您应该使用 setTimeout 来代替。

var checkStatus = function (jobID) {
$.ajax({
type: 'post',
url: '/admin/process/check-encode-status.php',
data: {
jobID: jobID
},
success: function (data) {
if (data == 'processing') {
setTimeout(function() { // <-- send an anonymous function
checkStatus(jobID); // <-- that calls checkStatus
}, 2000);
} else {
$("#videoOutput").html(data);
}
}
});
};

这是因为 checkStatus() 没有显式返回任何内容,因此您尝试在 undefined 上调用 .delay() .

关于jQuery 递归函数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5045958/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com