Ich habe Meteor.setInterval ein neues Element in meiner Sammlung finden und setzt es dann in einer Sitzung alle 1 Sekunden.Animieren von Änderungen an einer Session-Variable, in einem Intervall in Meteor festgelegt?
Meteor.setInterval(function() {
var entries = Database.findOne({}, { sort: { date: -1} });
Session.set('entryName', entries);
}, 1200);
Ich brauche dies, da es nur den neuesten Eintrag erhält und Überschwemmungen anderer Einträge verhindert, da es nur einmal pro Sekunde ausgelöst wird. Gibt es überhaupt eine Animationsmöglichkeit (sagen wir mal einen Fade-Effekt)? Es ist ein Problem, denn wenn ich in das Intervall animiere, wird es jede Sekunde ein- und ausgeblendet, auch wenn kein neuer Eintrag hinzugefügt wurde.
Ich brauche es nur zu verblassen, wenn der Eintrag ändert. Gibt es vielleicht eine bessere Möglichkeit, den Code auf Meteor-Art neu zu schreiben, damit er einfacher zu animieren ist?
Dank Christian Ich werde es versuchen, das einzige Problem ist, ich bin mir nicht sicher, ob es Flut berücksichtigt. Die Datenbank wird von vielen Benutzern schnell aktualisiert werden, so dass ich brauche, um nur einen Eintrag alle paar Sekunden anzuzeigen. Ill versuche, ein Intervall zu der session.get hinzuzufügen, vielleicht –
@LisaS Ich habe eine '_.throttle()' hinzugefügt, um die Aktualisierungsrate zu begrenzen. –
@MichelFloyd Ich habe es heute lustig früher gemacht, was funktioniert hat. Nicht sicher, welcher effizienter ist. Ich setze eine Variable, die jedes Mal, wenn eine Änderung beobachtet wird (".observeChanges"), auf "true" setzen würde, und lege sie in eine session.set. Als nächstes machte ich eine Sitzung.get, um die Truthy in Meteor.setInterval abrufen. Ich stelle es in eine if-Anweisung mit der Database.findOne() Ich schreibe es unter –