javascript - 带有 setInterval 且不带任何参数的回调函数

标签 javascript jquery ajax

我有以下脚本,它执行一次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/

相关文章:

javascript - jQueryscrollTo 插件不工作

javascript - 到达 API 端点的 Angular Material 数据表

javascript - 带动画的子选择删除

javascript - Jquery悬停停止

javascript - 我可以在Ajax中设置返回数据的class或Id属性吗?

jquery .html 结果

javascript - 从 Node.js 连接 Azure 分析服务

javascript - 来自 jQuery 对象的 jQuery 选择器

javascript - AJAX : How to get the last URL in a redirect flow inside an error handler with JSONP as content-type

php - Facebook 状态栏