Redis
 sql >> Teknologi Basis Data >  >> NoSQL >> Redis

Pola Desain JavaScript -- Menghadapi Asinkron yang Tidak Diinginkan

Anda berjuang dengan asinkron karena Anda masih menulis fungsi Anda dalam paradigma sinkron.

Dalam asinkron Anda harus melampirkan panggilan balik ke acara. Anda seharusnya tidak mengharapkan hasil dari fungsi asinkron seperti get_latest_results() , tetapi Anda harus memberikannya fungsi panggilan balik sebagai argumen yang akan dipanggil saat hasilnya sudah siap. Panggilan balik akan melakukan apa pun yang perlu dilakukan dengan hasil Anda:

var get_latest_results = function (feedId, readyCallback) {
    client.get('feed:' + feedId + ':latest', function (err, res) {
        var latest_reading_key = res.toString();
        client.hgetall(latest_reading_key, function (err, res) {
            readyCallback(res);                           //--- Trigger Callback
        });
    });
    // how do I specify a return value for this function? //--- You don't
}

Kemudian Anda dapat memanggil fungsi Anda seperti ini:

get_latest_results(1000, function (result) {
   //--- Do whatever needs to be done with the latest result...
});



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Seledri dengan beberapa situs Django

  2. Tidak bisa mendapatkan sumber daya dari kumpulan (SocketTimeoutException :)

  3. Bagaimana saya bisa mengetahui waktu ketika kunci saya disimpan di Redis Cache/db?

  4. redis cluster terus mencetak log WSA_IO_PENDING

  5. 6 Metrik Pemantauan Redis Penting yang Perlu Anda Tonton