Timer and globals

Hi all,

I get this strange result, I surely miss something but don't understand what...

Here is the code, actionLoaded is a global

function loadActions() {
	// Load next X action(s)
	var X = 5;
	
	for (var it = 0; (it < X) && (actionsLoaded < TOTAL_ACTIONS); it++) {
        //Some code to load an action number "actionLoaded+1"
		actionsLoaded++;
		WatchUi.requestUpdate();
	}
	
	if (actionsLoaded < TOTAL_ACTIONS) { // If all settings not loaded, recall after return to VM
		var myTimer = new Timer.Timer();
		myTimer.start(new Lang.Method($, :loadActions), 50, false);
	}
}

In the onUpdate(dc) of my View, I put a

System.println("I load " + actionsLoaded);

I guess to have :

I load 1
I load 2
I load 3
...
I load 35

but I get :

I load 5
I load 5
I load 5
I load 5
I load 5
I load 10
I load 10
I load 10
I load 10
I load 10
I load 15
I load 15
I load 15
I load 15
...

It seems that the requestUpdate() is launched 5x times at the end of the timer's callback function but why ?

Regards.