gpt4 book ai didi

等待 GET 完成时的 Javascript setInterval

转载 作者:行者123 更新时间:2023-12-02 18:55:05 26 4
gpt4 key购买 nike

您好,我正在尝试刷新页面中的文本,该文本在计算完成时通知服务器端的计算状态。计算以获取请求开始,并且只有在获取尚未完成时才需要进行刷新。我试图通过在 setInterval 中获取服务器上文本文件的内容并在 GET 完成后关闭该设置间隔来实现此目的。我的问题是,当我查看正在发生的情况时,我只在开始时看到一个对文本文件的请求,然后什么也没有。我希望我的代码每 200 毫秒就会看到一个请求。我附上js代码并提前感谢你。 onclick启动的函数是disps(name);

function instant(nn) {
$.get("./track.txt", function (data) {
$('[name|="' + nn + '"]').html('');
$('[name|="' + nn + '"]').html(data);
/*$('[name|="'+ nn +'"]').first().html('');
$('[name|="'+ nn +'"]').first().append('<img src="loading.gif">');*/
});
}

function disps(nn) {
aa = $('[name|=input_data]').val();
/* $('[name|="'+ nn +'"]').html('');
$('[name|="'+ nn +'"]').html('Analysed');
$('[name|="'+ nn +'"]').first().html('');
$('[name|="'+ nn +'"]').first().append('<img src="loading.gif">'); */
var refreshId = setInterval(instant(nn), 200);
$.get("./loop.php?query=" + aa, function (data) {
/* $('[name|="'+ nn +'"]').find('img').remove().end(); */
instant2(nn, refreshId);
$('[name|="' + nn + '"]').first().append(data);
});
}

function instant2(nn, refreshIntervalId) {
clearInterval(refreshIntervalId);
$('[name|="' + nn + '"]').html('');
$('[name|="' + nn + '"]').first().html('');
}

最佳答案

setInterval(instant(nn)

此调用instant(nn) 立即,就像任何其他函数调用一样。
然后,它将返回值传递给 setInterval(),就像任何其他函数调用一样。

这不是你想要做的。

相反,您想要传递一个调用 instant() 的函数:

function() { instant(nn); }

关于等待 GET 完成时的 Javascript setInterval,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15461727/

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