So nun die Frage an dich, wie mache ich das :) ?
Das hatte wir in dem alten Thread schon. Hier mal als Objekt. Wenn du xxx () erst mal weglässt, werden Funktionen nacheinander aufgerufen. Zwischenwerte kannst du am Objekt speichern.
Die Funktion xxx wird hierbei nochmal in viele Teilaufrufe zerlegt, die die Schleifen für i und j immer nur um jeweils eine Schritt abarbeiten.
function MyObj() {
}
MyObj.prototype = {
states: ["uninitialized", "init", "xxx", "yyy"],
actState: 0,
indexI: 0,
indexJ: 0,
SearchValue: 60000,
nextState: function() {
if (this.actState < this.states.length - 1) {
setTimeout(this[this.states[++this.actState]].bind(this));
}
},
init: function() {
// irgendwas kurzes machen
// ...
this.nextState();
},
xxx: function() {
for(var i = this.indexI; i <= 65535;) {
for(var j = this.indexJ; j <= 65535;) {
for(var k = 0; k <= this.SearchValue; ++k) {
if (i==k && j==k && k==this.SearchValue)
{
this.nextState();
return;
}
}
++this.indexJ;
setTimeout(this[this.states[this.actState]].bind(this));
return;
}
++this.indexI;
setTimeout(this[this.states[this.actState]].bind(this));
return;
}
},
yyy: function() {
// irgendwas kurzes machen
// ...
alert("durch");
this.nextState();
},
};
var xxx = new MyObj();
xxx.init();