如何通过咖啡脚本编写带有参数的setTimeout
2022-08-30 01:14:45
请告诉我如何在咖啡脚本中编写下面的javascript。
setTimeout(function(){
something(param);
}, 1000);
请告诉我如何在咖啡脚本中编写下面的javascript。
setTimeout(function(){
something(param);
}, 1000);
我认为这是一个有用的约定,回调作为函数的最后一个参数。例如,Node.js API 通常就是这种情况。因此,考虑到这一点:
delay = (ms, func) -> setTimeout func, ms
delay 1000, -> something param
当然,这会增加您所做的每个额外函数调用的开销;但是在今天的JS解释器中,性能缺陷是微不足道的,除非你每秒做数千次。(无论如何,您正在做什么设置每秒数千个超时?setTimeout
当然,一种更直接的方法是简单地命名你的回调,无论如何,这往往会产生更具可读性的代码(jashkenas是这个成语的忠实粉丝):
callback = -> something param
setTimeout callback, 1000
setTimeout ( ->
something param
), 1000
括号是可选的,但以逗号开头的行对我来说似乎很混乱。