Node-redis: wie man den "get"-Befehl erhält Der echte Wert ist nicht "wahr"

Erstellt am 12. Aug. 2013  ·  4Kommentare  ·  Quelle: NodeRedis/node-redis

Wie bekomme ich den "get"-Befehl, ist der echte Wert nicht "wahr"?

fixed / done question

Hilfreichster Kommentar

Hallo @yuany - dies ist eine traditionelle Node.js-Bibliothek, in der Sie Callbacks bereitstellen, die asynchron ausgeführt werden, wenn die Ergebnisse bereit sind.

Dh:

client.get("foo", function (error, value) { /* ... */ })

Dies ist auf die Funktionsweise von Node.js zurückzuführen, IO-Operationen werden asynchron ausgeführt.

Der Rückgabewert für diese Funktionen ist _nicht_ der Wert.

Alle 4 Kommentare

Hallo @yuany - dies ist eine traditionelle Node.js-Bibliothek, in der Sie Callbacks bereitstellen, die asynchron ausgeführt werden, wenn die Ergebnisse bereit sind.

Dh:

client.get("foo", function (error, value) { /* ... */ })

Dies ist auf die Funktionsweise von Node.js zurückzuführen, IO-Operationen werden asynchron ausgeführt.

Der Rückgabewert für diese Funktionen ist _nicht_ der Wert.

Danke @brycebaril Ich habe die Funktion wie

var result = client.get("foo", Funktion (Fehler, Wert) { Rückgabewert});
alert(result); // das Ergebnis ist 'false' oder 'true', aber ich möchte zurückgeben, dass der Wert durch den Schlüssel von redis der reale Wert ist.

Hallo @yuany - So funktioniert der Knoten nicht, wenn er IO

Der Rückruf stellt einen Kontext bereit, der ausgeführt werden soll, wenn das Ergebnis verfügbar ist. Alle anderen Codes, die nicht von der E/A abhängig sind, werden ausgeführt, während die E/A-Operation in die Warteschlange gestellt und ausgeführt wird und auf die Antwort gewartet wird.

Hier ist ein guter Ort, um mehr darüber zu erfahren, wie es funktioniert: https://github.com/maxogden/art-of-node#callbacks

Z.B

client.get("foo", function (error, value) {
  // value is only defined in the context of this callback
  console.log(value)
})

// this parent code has already executed, before it asked Redis for the value

Danke, @brycebaril Mir ist jetzt klar, dass die Ausführung der Rückruffunktion asynchron ist.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen