Node-redis: 「get」コマンドの実際の値を取得する方法は「true」ではありません

作成日 2013年08月12日  ·  4コメント  ·  ソース: NodeRedis/node-redis

「get」コマンドの実際の値を取得する方法は「true」ではありませんか?

fixed / done question

最も参考になるコメント

こんにちは@ yuany-これは、結果の準備ができたときに非同期で実行するコールバックを提供するという点で、従来のNode.jsライブラリです。

すなわち:

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

これは、Node.jsが機能する方法の結果であり、IO操作は非同期で実行されます。

これらの関数の戻り値は値ではありません。

全てのコメント4件

こんにちは@ 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私は今はっきりしています、コールバック関数の実行が非同期であるという問題。

このページは役に立ちましたか?
0 / 5 - 0 評価

関連する問題

Mickael-van-der-Beek picture Mickael-van-der-Beek  ·  6コメント

betimer picture betimer  ·  5コメント

Stono picture Stono  ·  6コメント

gpascale picture gpascale  ·  4コメント

michaelwittig picture michaelwittig  ·  3コメント