首页 > 解决方案 > 将时间间隔设置为指定值

问题描述

我想将给定函数的时间间隔设置为变量值 timeInMilliseconds ..但是得到错误未定义..请帮我解决这个问题。先感谢您 。

window.setInterval(function(){
 chrome.storage.local.get("user_inactive_mode", function (obj) {
    inactiveStatusMode = obj.user_inactive_mode;
    if(inactiveStatusMode == 'true')   {
            chrome.storage.local.get("user_inactive_time", function (obj) {
            var timeInMinuts = obj.user_inactive_time;
            var timeInMilliseconds = timeInMinuts * 10;
            console.log(timeInMilliseconds);
            chrome.idle.queryState(timeInMilliseconds, function (state) {
                if (state != "active") {
                   ====
                   ====
                   =====
                }
            });
        });
    }
 });
} , timeInMilliseconds);

标签: timetimeoutwindowsetinterval

解决方案


在函数外部初始化变量 timeInMillisecond。它说未定义的原因是因为它超出了范围

     var timeInMilliseconds;
     window.setInterval(function(){
     chrome.storage.local.get("user_inactive_mode", function (obj) {
        inactiveStatusMode = obj.user_inactive_mode;
        if(inactiveStatusMode == 'true')   {
                chrome.storage.local.get("user_inactive_time", function (obj) {
                var timeInMinuts = obj.user_inactive_time;
                timeInMilliseconds = timeInMinuts * 10;
                console.log(timeInMilliseconds);
                chrome.idle.queryState(timeInMilliseconds, function (state) {
                    if (state != "active") {
                       ====
                       ====
                       =====
                    }
                });
            });
        }
     });
    } , timeInMilliseconds);

您可以在此处阅读有关 JS 作用域的信息:JavaScript 中变量的作用域是什么?


推荐阅读