Node-redis: cara mendapatkan perintah "dapatkan" nilai sebenarnya bukan 'benar'

Dibuat pada 12 Agu 2013  ·  4Komentar  ·  Sumber: NodeRedis/node-redis

bagaimana cara mendapatkan perintah "dapatkan" nilai sebenarnya bukan 'benar'?

fixed / done question

Komentar yang paling membantu

Hai @yuany -- ini adalah pustaka Node.js tradisional di mana Anda menyediakan panggilan balik untuk dieksekusi secara asinkron ketika hasilnya sudah siap.

Yaitu:

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

Ini adalah hasil dari cara kerja Node.js, operasi IO dilakukan secara asinkron.

Nilai kembalian untuk fungsi-fungsi ini adalah _bukan_ nilainya.

Semua 4 komentar

Hai @yuany -- ini adalah pustaka Node.js tradisional di mana Anda menyediakan panggilan balik untuk dieksekusi secara asinkron ketika hasilnya sudah siap.

Yaitu:

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

Ini adalah hasil dari cara kerja Node.js, operasi IO dilakukan secara asinkron.

Nilai kembalian untuk fungsi-fungsi ini adalah _bukan_ nilainya.

Terima kasih, @brycebaril saya sudah mencoba fungsi seperti ini:

var result = client.get("foo", function (error, nilai) { nilai kembali});
alert(result);//hasilnya akan 'false' atau 'true', tetapi saya ingin mengembalikan nilai adalah nilai sebenarnya dengan kunci dari redis.

Hai @yuany -- Itu bukan cara kerja node saat melakukan IO.

Callback menyediakan konteks untuk dieksekusi ketika hasilnya tersedia. Semua kode lain yang tidak bergantung pada IO akan berjalan saat operasi IO diantrekan, dieksekusi, dan balasannya ditunggu.

Inilah tempat yang bagus untuk mempelajari lebih lanjut tentang cara kerjanya: https://github.com/maxogden/art-of-node#callbacks

Misalnya

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

Terima kasih, @brycebaril Saya sudah jelas sekarang, masalah bahwa pelaksanaan fungsi panggilan balik tidak sinkron.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

aletorrado picture aletorrado  ·  6Komentar

michaelwittig picture michaelwittig  ·  3Komentar

Alchemystic picture Alchemystic  ·  6Komentar

ghost picture ghost  ·  3Komentar

Stono picture Stono  ·  6Komentar