如何将动态参数传递给 setInterval 函数?
How to pass dynamic parameter to setInterval function?
我正在尝试将参数传递给 setInterval
函数,如下所示
load(value) {
let checkedValue = value;;
let checkExist = setInterval(function (checkedValue ) {
if ((document.getElementsByClassName("switch")).length > 0) {
($(".switch") as any).kendoSwitch({
checked: checkedValue
}).data("kendoSwitch");
clearInterval(checkExist);
}
}, 100)
}
CheckedValue
在这里无法访问,正确的方法是什么?
setInterval
将所有无关参数传递给回调函数:
let checkExist = setInterval(function (checkedValue) {
if ((document.getElementsByClassName("switch")).length > 0) {
($(".switch") as any).kendoSwitch({
checked: checkedValue
}).data("kendoSwitch");
clearInterval(checkExist);
}
}, 100, checkedValue); // Note checkedValue is passed as the final parameter
但是,您可以依靠闭包来完成这项工作
load(value) {
let checkExist = setInterval(function () {
if ((document.getElementsByClassName("switch")).length > 0) {
($(".switch") as any).kendoSwitch({
checked: value
}).data("kendoSwitch");
clearInterval(checkExist);
}
}, 100)
}
我正在尝试将参数传递给 setInterval
函数,如下所示
load(value) {
let checkedValue = value;;
let checkExist = setInterval(function (checkedValue ) {
if ((document.getElementsByClassName("switch")).length > 0) {
($(".switch") as any).kendoSwitch({
checked: checkedValue
}).data("kendoSwitch");
clearInterval(checkExist);
}
}, 100)
}
CheckedValue
在这里无法访问,正确的方法是什么?
setInterval
将所有无关参数传递给回调函数:
let checkExist = setInterval(function (checkedValue) {
if ((document.getElementsByClassName("switch")).length > 0) {
($(".switch") as any).kendoSwitch({
checked: checkedValue
}).data("kendoSwitch");
clearInterval(checkExist);
}
}, 100, checkedValue); // Note checkedValue is passed as the final parameter
但是,您可以依靠闭包来完成这项工作
load(value) {
let checkExist = setInterval(function () {
if ((document.getElementsByClassName("switch")).length > 0) {
($(".switch") as any).kendoSwitch({
checked: value
}).data("kendoSwitch");
clearInterval(checkExist);
}
}, 100)
}