Redis
 sql >> डेटाबेस >  >> NoSQL >> Redis

जावास्क्रिप्ट डिज़ाइन पैटर्न -- अवांछित अतुल्यकालिकता से निपटना

आप एसिंक्रोनस के साथ संघर्ष कर रहे हैं क्योंकि आप अभी भी अपने कार्यों को एक सिंक्रोनस प्रतिमान में लिख रहे हैं।

एसिंक्रोनस में आपको ईवेंट में कॉलबैक संलग्न करना चाहिए। आपको get_latest_results() जैसे एसिंक्रोनस फ़ंक्शन से परिणाम की उम्मीद नहीं करनी चाहिए , लेकिन परिणाम तैयार होने पर आपको इसे एक कॉलबैक फ़ंक्शन के रूप में लागू करने के लिए एक तर्क के रूप में पास करना चाहिए। कॉलबैक आपके परिणामों के साथ जो कुछ भी करने की आवश्यकता है वह करेगा:

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
}

तब आप अपने फ़ंक्शन को इस तरह कॉल कर सकते हैं:

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. रेडिस बनाम हेज़लकास्ट

  2. रेडिस:एक कुंजी को दूसरी कुंजी के मान के बराबर कैसे सेट करें?

  3. डॉकर कंपोज़ का उपयोग करके रेडिस कंटेनर से कैसे जुड़ें?

  4. redis.conf को कैसे सेव और एग्जिट करें?

  5. Redis में एक पैटर्न से मेल खाने वाली कुंजियों को कैसे हटाएं