Ich versuche eine variable Zeitverzögerung zwischen Array-Elementen mit Observables einzufügen. In diesem Beispiel möchte ich ein Hasen-Icon horizontal auf dem Bildschirm bewegen. Wie ein Wasserwerfer-Rennen in einer Arkade. Hier ist meine EingangsarrayRxJS: Programmierbarer Timer
var inputArray = [
{locationX: 100, timeDelay: 2000},
{locationX: 500, timeDelay: 8000},
{locationX: 700, timeDelay: 3000}
]
In diesem Beispiel das Kaninchen zu Ort 100 Pixel nach 2 Sekunden bewegen würde, dann an Position 500 Pixel nach 8 Sekunden Verzögerung, etc ....
var obs = Rx.Observable.from(inputArray)
.flatMap(x => return Rx.Observable.timer(x.timeDelay))
der obigen Code funktioniert nicht. Ich schleife einfach ohne Zeitverzögerung durch das Array. Irgendwelche Ideen?
Mmm ... Ich sehe den Fehler nicht, das funktioniert für mich http://jsbin.com/wogeposefa/edit?js,console,output –
Vielen Dank Miguel für Ihre Codebeispiel. Es war die Rückgabe, die dazu führte, dass mein Code fehlschlug. Ich habe jetzt eine andere Frage ... Wie würde ich x.locationX zurück zum Abonnenten senden? –
.flatMap (x => Rx.Observable.timer (x.timeDelay) .map (() => x.locationX) – Meir