慕斯709654
2021-05-18 21:09:13
我希望純JS中的函數(shù)僅在特定條件發(fā)生時(shí)才等待并執(zhí)行。function wait_then_go (a,b,c) {if (!go) window.setTimeout (wait_then_go (a,b,c), 500);// go here }有沒(méi)有一種通用的方法可以在超時(shí)中傳遞參數(shù),而不是指定a,b,c?如果我更改函數(shù)定義中的參數(shù),我不希望代碼中斷。
2 回答

牧羊人nacy
TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超7個(gè)贊
arguments如果您不想指定,可以使用a,b,c。并使用包裝函數(shù)并在其中調(diào)用參數(shù)。
function wait_then_go (a,b,c) {
const arg = [...arguments];
if (!go) window.setTimeout (() => wait_then_go (...args), 500);
}

慕標(biāo)琳琳
TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超9個(gè)贊
傳遞函數(shù)wait_then_go為setTimeout回調(diào)函數(shù),并傳遞...arguments作為PARAMS。
function wait_then_go (a,b,c) {
if (!go) window.setTimeout (function() {
wait_then_go (...arguments)
}, 500);
// go here
}
添加回答
舉報(bào)
0/150
提交
取消