我有以下脚本,它执行一次ajax调用,然后每秒执行一次ajax调用另一个url。我实现了以下代码,但我认为我无法修复此回调问题以运行第二个函数。
$(document).ready(function(){
ajaxSingleCall(function(){
ajaxCalls();
});
});
function ajaxSingleCall(){
$.ajax({
type: 'GET',
url: "/matchDataOdds",
dataType: 'json'
})
.done(function(data) {
data.forEach(addOddsCanvas);
})
.fail(function() {
console.log("Ajax failed to fetch data");
});
}
function ajaxCalls(){
setInterval(runner, 1000);
}
function runner() {
// run your ajax call here
$.ajax({
type: 'GET',
url: "/matchData",
dataType: 'json'
})
.done(function(data) {
liveFeed(data);
})
.fail(function() {
console.log("Ajax failed to fetch data");
});
}
最佳答案
您正在将回调函数传递到 ajaxSingleCall
中,但它不接受任何参数。您必须实际使用传递的函数。它不会被自动调用:
function ajaxSingleCall(callback){
$.ajax({
type: 'GET',
url: "/matchDataOdds",
dataType: 'json'
})
.done(function(data) {
data.forEach(addOddsCanvas);
callback();
})
.fail(function() {
console.log("Ajax failed to fetch data");
});
}
关于javascript - 带有 setInterval 且不带任何参数的回调函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44622789/