gpt4 book ai didi

javascript - 请求在竞争条件下定期返回空

转载 作者:行者123 更新时间:2023-11-28 02:56:00 25 4
gpt4 key购买 nike

导致以下情况的可能原因是什么?

我正在使用带有以下代码的自动完成脚本:

if (that.currentAjaxRequest !== null) {
that.currentAjaxRequest.abort();
}

that.currentAjaxRequest = $.get(query_string,
function(data) {
that.doStuff(data);
}
);

脚本被限制。因此,每次击键后,发送请求之前都会有大约 300 毫秒的延迟。

这在我的测试环境中运行得很好。然而,我在实时环境中遇到了一种情况,如果请求发送的时间间隔很近(大约 300 毫秒),那么每隔一段时间,最新的请求就会返回空。也就是说,数据将是“未定义的”。为什么会这样?

最佳答案

这似乎是 jQuery bug 1.4 中引入:当手动中止 ajax 调用时,jQuery 将使用空字符串调用 success 函数,而不是 error 函数。

您可以通过在回调中检查 xhr.status 来解决此问题:

function(data, textStatus, xhr) {
if (xhr.status) {
//a successful call
}
else {
//an aborted call
}
}

关于javascript - 请求在竞争条件下定期返回空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2630274/

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