@Fox Спасибо.
Может кто то просто занимался обтачивал этот навык, вот и обратился.
А с cursor не пробовали клеить bass ?
т.к. set.Timeout и set.Interval не поддерживаются, а они оказались нужны, начал искать костыль. пока что в голову пришла такая идея

VAR_START_TIME = Date.now(); //получаю время
VAR_END_TIME = ((Date.now() - VAR_START_TIME)/1000 / 60).toFixed(2) //получаю сколько времени прошло (в минутах)
есть идеи как сделать элегантней?
@artihorror А где выполняется код, который должен быть в setTimeout, надеюсь в другом потоке?