Node-redis: como obter o valor real do comando "get" não é um 'verdadeiro'

Criado em 12 ago. 2013  ·  4Comentários  ·  Fonte: NodeRedis/node-redis

como obter o valor real do comando "get" não é um 'true'?

fixed / done question

Comentários muito úteis

Olá @yuany - esta é uma biblioteca Node.js tradicional em que você fornece retornos de chamada para executar de forma assíncrona quando os resultados estiverem prontos.

Ie:

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

Isso é resultado da maneira como o Node.js funciona, as operações IO são feitas de forma assíncrona.

O valor de retorno para essas funções _não_ é o valor.

Todos 4 comentários

Olá @yuany - esta é uma biblioteca Node.js tradicional em que você fornece retornos de chamada para executar de forma assíncrona quando os resultados estiverem prontos.

Ie:

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

Isso é resultado da maneira como o Node.js funciona, as operações IO são feitas de forma assíncrona.

O valor de retorno para essas funções _não_ é o valor.

Obrigado, @brycebaril , tentei a função assim:

var result = client.get ("foo", função (erro, valor) {valor de retorno});
alert (result); // o resultado será 'false' ou 'true', mas quero retornar o valor é o valor real pela chave de redis.

Olá, @yuany - Não é assim que o node funciona quando está fazendo IO.

O retorno de chamada fornece um contexto a ser executado quando o resultado estiver disponível. Todos os outros códigos que não dependem do IO serão executados enquanto a operação IO é enfileirada, executada e a resposta é aguardada.

Este é um bom lugar para aprender mais sobre como funciona: https://github.com/maxogden/art-of-node#callbacks

Por exemplo

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

Obrigado, @brycebaril , estou claro agora, a questão de que a execução da função de retorno de chamada é assíncrona.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

b96705008 picture b96705008  ·  7Comentários

juriansluiman picture juriansluiman  ·  3Comentários

Mickael-van-der-Beek picture Mickael-van-der-Beek  ·  6Comentários

gpascale picture gpascale  ·  4Comentários

Alchemystic picture Alchemystic  ·  6Comentários