Redis
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> Redis

Các mẫu thiết kế JavaScript - Đối phó với sự không đồng bộ không mong muốn

Bạn đang đấu tranh với sự không đồng bộ vì bạn vẫn đang viết các hàm của mình trong một mô hình đồng bộ.

Trong không đồng bộ, bạn nên đính kèm các lệnh gọi lại vào các sự kiện. Bạn không nên mong đợi kết quả từ một hàm không đồng bộ như get_latest_results() , nhưng bạn nên chuyển cho nó một hàm gọi lại như một đối số sẽ được gọi khi kết quả sẵn sàng. Lệnh gọi lại sẽ thực hiện bất cứ điều gì cần thực hiện với kết quả của bạn:

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
}

Sau đó, bạn có thể gọi hàm của mình như sau:

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. Redis zrevrangebyscore, sắp xếp khác với thứ tự từ vựng

  2. Cách tách cơ sở dữ liệu redis cho hai ứng dụng giống nhau trong node.js

  3. Khách hàng Redis

  4. Cần tây với nhiều trang web django

  5. RedisTemplate tự động như thế nào <String, Long>