2016-04-19 3 views
0

Wie verhindere ich, dass lokale Variable auf der nodejs Servicekonsole gedruckt wird?Wie verhindere ich, dass die Variable auf der Nodejs-Servicekonsole gedruckt wird?

validation.js

function getHash(){ 
    var hash = []; 
    hash = //some logic to create hash 
    return hash; 
} 

var hashTable= getHash(); 

exports.validateRequest= function(request, path, httpMethod){ 
    var status= validate(hashTable,request); //some logic to validate request using hashTable 
    return status; 
} 

ein API-Aufruf Jedes Mal ausgelöst wird, ruft mein Code die validateRequest Methode, aber die hashTable bleibt unverändert die ganze Zeit. Ich beabsichtige, HashTable einmal zu berechnen und wieder zu verwenden. Daher verwende ich eine lokale Variable, so dass getHash() nur einmal während der Initialisierung aufgerufen wird.

Das funktioniert gut, was meine Implementierung betrifft. Aber das Problem ist, wenn ich meinen Node.js-Dienst starte, wird die hashTable auf der Servicekonsole wie folgt gedruckt. Wie kann ich das loswerden?

Nodejs service console

//code to create hashTable 
function createHashTable() { 
    var apis= require('../config/api.js'), 
     apiTable = []; 
    for (key in apis) { 
    //some simple array split and value comparison operations 
    apiTable.push({ name: key, path: new RegExp(apis[key].spec.path), method: apis[key].spec.method }) 
    } 
return apiTable; 
} 
+0

können Sie den Code angeben, wenn Sie den Hash tatsächlich erstellen? – FredMaggiowski

+0

@FredMaggiowski Ich habe den Code hinzugefügt, um Hash in der Frage zu erstellen. –

Antwort

0

Die Probleme war mit createHashTable Funktion. Ich hatte * zu einigen der Wege in apis[key].spec.path hinzugefügt. Da es sich um eine Pfadvariable handelt, wird * einen ungültigen Pfad angeben. Daher wurde der Fehler auf der Konsole ausgegeben.

var path=apis[key].spec.path + '/*'; apiTable.push({ name: key, path: new RegExp(path), method: apis[key].spec.method })

Es gibt keine Fehler in der Hash-Tabelle Generation, den Code zu

nach der Korrektur. So sieht meine Konsole sauber aus.

Verwandte Themen