2016-10-16 2 views
0

Ich versuche, so statusfrei wie möglich zu programmieren. Ich stehe jedoch fest, wenn es um die Interaktion mit der relationalen Datenbank geht.Stateless-Programmierung mit relationalen Datenbank

var fetchDataFromTable = function(tableName) 
{ 
//dummy result from using mysql library 
sqlQuery = "Select * from " + tableName; 
return new Promise(function(resolve, reject) 
{ 
    con.query(sqlQuery, function(err,body) 
    { 
    resolve(body) 
    }) 
}) 
} 

var getOrderName = function(checkOrderID,fetchDataFromTable) 
{ 
    //Here, I have to hard-code the table name. 
    fetchFromTable("OrderTable").then(function(result) 
    { 

     //dummy function. Can use SQL query instead of looping. 
     result.forEach(function(index){ 
     if (result[index].orderID == checkOrderID) 
      return result[index].orderName; 
     }) 
    }) 
} 

orderName = getOrderName("A123",fetchDataFromTable); 

Der obige Beispielcode zeigt ein Beispiel, wie das Ergebnis aus der Datenbank abgerufen werden kann, um bestimmte Entscheidungen zu treffen. In diesem Fall verwende ich ".orderID".

Meine Frage ist, wird dies als staatenlos betrachten? Wenn nicht, wie kann ich es "staatenloser" machen?

Antwort

0

Hängt davon ab, was Sie mit Staatenlosen meinen.

Definitionsgemäß ist eine Datenbank zustandsbehaftet (der springende Punkt ist es, Dinge zu speichern), also ist technisch das, was Sie tun, nicht zustandslos.

Wenn jedoch Personen auf eine zustandslose Web-App verweisen, meinen sie im Allgemeinen "frei von Sitzungsstatus" und nicht ganz frei von Status.

Ihr Codebeispiel scheint keinen Sitzungsstatus zu verwenden. Daher kann es gerechtfertigt sein, dies als zustandslose Lösung zu bezeichnen.

Verwandte Themen