Ich möchte die Anzahl der Datensätze in meiner indexedDB-Datenbank grundlegend zählen.
Momentan sieht mein Code wie
ausJavaScript
%Vor%Ich würde gerne sagen, dass die Ausgabe nur 3 ist, aber stattdessen bekomme ich.
Ausgabe
%Vor%Was ist richtig, aber ich will es nur sagen, 3 nicht viele andere Sachen.
Ein bisschen Einführung in Reihenfolge. Von meinen persönlichen Dokumenten zu Transaktionen:
Bestimmte Transaktionen geben Daten oder "Ergebnisse" aus der Datenbank zurück. Diese Transaktionen werden "Anfragen" genannt und mit Ausnahme von Datenbanköffnung, die Werte sind immer verschiedene Kombinationen von Objekten "Schlüssel" und "Werte" und Instanzen von IDBRequest. Transaktionen anfordern sind nur das: eine Transaktionsanfrage, "nämlich der Akt des Forderns etwas, anstatt das zu bekommen. Ein Programmierer begegnet ihnen bei IDBObjectStore-, IDBIndex- oder IDBCursor-Objekten.
Sie suchen nach einem Objekt IDBRequest
, das von der Methode count()
zurückgegeben wird. Das ist die Anforderung für Daten und nicht die Daten selbst.
Die Daten selbst sind verfügbar, nachdem das Ereignis complete
ausgelöst wurde und über die Eigenschaft IDBRequest.result
zugegriffen werden kann.
Hier ist eine getestete Zählmethode von meiner Bibliothek, Dash :
%Vor% Ich werde feststellen, dass ich wahrscheinlich das Ereignis complete
und nicht das Ereignis success
verwendet haben sollte. Ich kann nicht erklären warum, aber manchmal sind Ergebniswerte nicht in success
Callbacks verfügbar.
Tags und Links javascript indexeddb