Javascript 如何多次调用函数?(在setInterval()中)
此代码每3秒钟更新一次聊天记录。它正确地提醒Javascript 如何多次调用函数?(在setInterval()中),javascript,json,http,web,Javascript,Json,Http,Web,此代码每3秒钟更新一次聊天记录。它正确地提醒myArr(我只是出于调试目的提醒它),但只有一次–当页面加载时(但我每3秒需要一次),尽管调用了setInterval 我认为问题在于(一定是)第一次请求后,onreadystatechange/readyState没有更新。我真的很努力,但没有成功 请提供帮助问题在于如何将函数传递到setInterval,与XHR调用无关 传递函数时不要使用括号,只需传递名称即可。通过使用括号,可以立即执行函数并传递返回值(本例中未定义) 这个问题已经被问了几十次
myArr
(我只是出于调试目的提醒它),但只有一次–当页面加载时(但我每3秒需要一次),尽管调用了setInterval
我认为问题在于(一定是)第一次请求后,onreadystatechange
/readyState
没有更新。我真的很努力,但没有成功
请提供帮助问题在于如何将函数传递到
setInterval
,与XHR调用无关
传递函数时不要使用括号,只需传递名称即可。通过使用括号,可以立即执行函数并传递返回值(本例中未定义)
这个问题已经被问了几十次了。请参见仅举一个例子。我想知道为什么人们很难理解这一点。文档中说你传递了一个函数。真的很难区分函数和函数调用吗?非常感谢!真的很有帮助
function chatUpdate() {
var xmlhttp = new XMLHttpRequest();
var url = document.URL + '&action=update';
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
var myArr = JSON.parse(xmlhttp.responseText);
alert(myArr);
}
}
xmlhttp.open("GET", url, true);
xmlhttp.send();
}
setInterval(chatUpdate(), 1000);
setInterval(chatUpdate, 1000);
// ^ no ()