setInterval 中的函数名

Function name in setInterval

我在 MVC 应用程序中有一个页面,该页面使用 setInterval 来触发 JavaScript 函数,并通过其名称调用它。有几个按钮和 link,当用户单击它们时,它们会对数据库进行 ajax 调用。不仅如此,它还清除了间隔并设置了另一个功能为运行(每个按钮和link都有自己的功能)。这无法正常运行,我需要通过 setInterval 找出函数的名称 运行。调试器为我提供了 ID,但这不是很有用。我可以看到函数的名称,仅用于调试目的吗?

这是我的代码的简化版本:

var Abc = Abc || {

    myInterval: '',
    refreshTime: 120000,

    init: function () {
        $("#button1").click(function () {
            Abc.function1();
            clearInterval(Abc.myInterval);
            Abc.myInterval = setInterval(Abc.function1, Abc.refreshTime);
        });
        $("#button2").click(function () {  
            Abc.function2();
            clearInterval(Abc.myInterval);
            Abc.myInterval = setInterval(Abc.function2, Abc.refreshTime);  
        });
    },

    function1: function () {
        $.ajax({
            // Code
        });
    },
    function2: function () {
        $.ajax({
            // Code
        });
    },
}

我需要的是function1,function2...

谢谢!!

你可以使用命名函数,比如

function1: function function1() {
//                  ^^^^^^^^^
    $.ajax({
        // Code
    });
},

您可以将此行添加到每个函数:

console.info('<functionname> is running');

当然,您将替换为函数的名称。