sql >> Databasteknik >  >> NoSQL >> Redis

JavaScript-designmönster -- Hanterar oönskad asynkroni

Du kämpar med asynkroni eftersom du fortfarande skriver dina funktioner i ett synkront paradigm.

I asynkroni bör du koppla återuppringningar till händelser. Du bör inte förvänta dig ett resultat från en asynkron funktion som get_latest_results() , men du bör ge det en återuppringningsfunktion som ett argument som ska anropas när resultaten är klara. Återuppringningen kommer att göra allt som behöver göras med dina resultat:

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
}

Då kan du anropa din funktion så här:

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



  1. Vad är skillnaden mellan metoden insert(), insertOne() och insertMany()?

  2. Är det möjligt att ha en Linux VFS-cache med ett FUSE-filsystem?

  3. Hitta alla dubbletter av dokument i en MongoDB-samling genom ett nyckelfält

  4. Ställa in utgångstid för en samling i mongodb med mongoose