Possible Ruby ways to write setTimeout methods in CoffeeScript
def start_timer
setTimeout(time_is_up, 2000)
end
def time_is_up
alert "Time's up!"
end
start_timer
var start_timer, time_is_up;
start_timer = function(){
return setTimeout('time_is_up()', 2000);
}
time_is_up = function(){
return alert("Time's up!");
}
start_timer();
Start the timer by passing in the callback and timeout params
def start_timer(callback, timeout)
setTimeout(callback, timeout)
end
def time_is_up
alert "Time's up!"
end
start_timer(time_is_up, 2000)
var start_timer, time_is_up;
start_timer = function(callback, timeout){
return setTimeout(callback, timeout);
}
time_is_up = function(){
return alert("Time's up!");
}
start_timer('time_is_up', 2000);
You could easily clear a timeout
def start_timer(callback, timeout)
setTimeout(callback, timeout)
end
def time_is_up
alert "Time's up!"
end
timer_id = start_timer(time_is_up, 2000)
clearTimeout(timer_id)
var start_timer, time_is_up, timer_id;
start_timer = function(callback, timeout){
alert("Setting timer...")
return setTimeout(callback, timeout);
}
time_is_up = function(){
return alert("Time's up!");
}
timer_id = start_timer('time_is_up()', 2000);
clearTimeout(timer_id);
Sending an inline function to setTimeout: (Perhaps this would be a good place for a proc)
timer_id = setTimeout(Proc.new { alert "Time's up!" }, 2000)
var timer_id;
timer_id = setTimeout('alert("Time's up!");', 2000);
An inline proc with multiple statements:
def time_is_up
alert "Time's up!"
end
def start_timer
setTimeout(Proc.new { time_is_up; restart_timer; }, 5000);
end
def restart_timer
start_timer
end
start_timer
var time_is_up, start_timer, restart_timer, timer_id;
time_is_up = function(){
return alert("Time's up!");
}
start_timer = function(){
setTimeout('time_is_up(); restart_timer();', 5000);
}
restart_timer = function(){
start_timer();
}
start_timer();