我希望纯JS中的函数仅在特定条件发生时才等待并执行。function wait_then_go (a,b,c) {if (!go) window.setTimeout (wait_then_go (a,b,c), 500);// go here }有没有一种通用的方法可以在超时中传递参数,而不是指定a,b,c?如果我更改函数定义中的参数,我不希望代码中断。
2 回答
牧羊人nacy
TA贡献1862条经验 获得超7个赞
arguments如果您不想指定,可以使用a,b,c。并使用包装函数并在其中调用参数。
function wait_then_go (a,b,c) {
const arg = [...arguments];
if (!go) window.setTimeout (() => wait_then_go (...args), 500);
}
慕标琳琳
TA贡献1830条经验 获得超9个赞
传递函数wait_then_go为setTimeout回调函数,并传递...arguments作为PARAMS。
function wait_then_go (a,b,c) {
if (!go) window.setTimeout (function() {
wait_then_go (...arguments)
}, 500);
// go here
}
添加回答
举报
0/150
提交
取消