Mein Ziel ist es, eine Animationsschleife à la requestAnimationFrame
zu schaffen, so dass ich etwas tun könnte:Wie kann ich mit RxJS eine requestAnimationFrame-Schleife generieren?
animationObservable.subscribe(() =>
{
// drawing code here
});
habe ich versucht, diesen Code als Basistest:
let x = 0;
Rx.Observable
.of(0)
.repeat(Rx.Scheduler.animationFrame)
.takeUntil(Rx.Observable.timer(1000))
.subscribe(() => console.log(x++));
Here is a JSFiddle but I'm not liable for any browser crashes from running this.
Ich erwartete, dass dies die Zahlen von 0 bis etwa 60 (weil das ist die Bildwiederholfrequenz meines Monitors) über 1 Sekunde protokolliert. Stattdessen protokolliert es schnell Zahlen (viel schneller als requestAnimationFrame
würde), beginnt, die Seite zu verzögern, und schließlich den Stapel um 10000 und einige Sekunden später überläuft.
Warum verhält sich der animationFrame
Scheduler so, und was ist der richtige Weg, um eine Animationsschleife mit RxJS auszuführen?
Irgendwie habe ich verpasst, dass, wahrscheinlich, weil, wenn ich lief ich in das Problem zunächst nicht wurde mit 'von', sondern etwas, das anders verhalten. Plötzlich ist es viel klarer. Vielen Dank! –