「get」コマンドの実際の値を取得する方法は「true」ではありませんか?
こんにちは@ yuany-これは、結果の準備ができたときに非同期で実行するコールバックを提供するという点で、従来のNode.jsライブラリです。
すなわち:
client.get("foo", function (error, value) { /* ... */ })
これは、Node.jsが機能する方法の結果であり、IO操作は非同期で実行されます。
これらの関数の戻り値は値ではありません。
ありがとう、 @ brycebaril私はこのような関数を試しました:
var result = client.get( "foo"、function(error、value){return value});
alert(result); //結果は「false」または「true」になりますが、redisからのキーによる実際の値を返したいです。
こんにちは@ yuany-それは、ノードがIOを実行しているときの動作方法ではありません。
コールバックは、結果が利用可能になったときに実行するコンテキストを提供します。 IOに依存しない他のすべてのコードは、IO操作がキューに入れられて実行され、応答が待機されている間に実行されます。
それがどのように機能するかについてもっと学ぶのに良い場所はここにあります: //github.com/maxogden/art-of-node#callbacks
例えば
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
おかげで、 @ brycebaril私は今はっきりしています、コールバック関数の実行が非同期であるという問題。
最も参考になるコメント
こんにちは@ yuany-これは、結果の準備ができたときに非同期で実行するコールバックを提供するという点で、従来のNode.jsライブラリです。
すなわち:
これは、Node.jsが機能する方法の結果であり、IO操作は非同期で実行されます。
これらの関数の戻り値は値ではありません。