Multitasking oder so :D

JesusFreak777

Erfahrenes Mitglied
Hallo,
kann ich eine Variable gleichzeitig schreiben und lesen?
ich hab einen "Regler" mit dem ich eine Datenbankabfrage erstellen möchte. Da dieser Dynamisch funktionieren sollte, würde er bei jedem Pixel Veränderung eine abfrage starten <- das würde ein Datenchaos erzeugen.
Deshalb die Idee die Abfrage zu speichern und über einen Timer auslesen.
=> meine "UNSAUBERE" lösung würde das so machen:
Code:
<div id="cache"></div>
<script>
onchange regler => regler() & reader()

val regler = function() {
   write->cache reglerwert
}

val reader = function() {
   intervall( get->cache, 500ms)
   DB auslesen -> AJAX!!!
}
</script>
mit getelementbyid, kann ich mein div kontinuierlich befüllen und mein reader kann lesen wann er will...
<- funktionieren würde das (ungetestet) aber COOL ist die lösung nicht!
 
Was du brauchst, nennt sich eine Debounce-Funktion.

Underscore.js stellt _.debounce dafür bereit: https://github.com/jashkenas/unders...5db44e245c8e93f233c94822bd/underscore.js#L763

Lodash stellt auch _.debounce dafür bereit: https://github.com/lodash/lodash/blob/2.4.1/dist/lodash.compat.js#L5724

Nutzt du keine der beiden Bibliotheken, dann kannst du den relevanten Codeteil (natürlich unter Beachtung der jeweiligen Liznez) in dein Projekt kopieren.

Alternativ habe ich auch hier die Funktion gefunden: http://davidwalsh.name/javascript-debounce-function


PS: Dein Code ist kein gültiges JavaScript.
 
Zurück