为了账号安全,请及时绑定邮箱和手机立即绑定

JS:通过使用settimout调用自身来等待函数-如何处理参数?

JS:通过使用settimout调用自身来等待函数-如何处理参数?

慕斯709654 2021-05-18 21:09:13
我希望纯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);

}


查看完整回答
反对 回复 2021-05-27
?
慕标琳琳

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 

}


查看完整回答
反对 回复 2021-05-27
  • 2 回答
  • 0 关注
  • 138 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信