2017-09-24 5 views
0

Ich habe einen Knoten/Express-Server und ich versuche, eine Funktion von einer Hilfsdatei zu meiner app.js für die Verwendung zu bekommen. Hier ist die Funktion in der Hilfsdatei:Wie man Dienstprogrammfunktion von der Hilfedatei auf node.js Server erhält?

CC.CURRENT.unpack = function(value) 
 
{ 
 
    var valuesArray = value.split("~"); 
 
    var valuesArrayLenght = valuesArray.length; 
 
    var mask = valuesArray[valuesArrayLenght-1]; 
 
    var maskInt = parseInt(mask,16); 
 
    var unpackedCurrent = {}; 
 
    var currentField = 0; 
 
    for(var property in this.FIELDS) 
 
    { 
 
     if(this.FIELDS[property] === 0) 
 
     { 
 
      unpackedCurrent[property] = valuesArray[currentField]; 
 
      currentField++; 
 
     } 
 
     else if(maskInt&this.FIELDS[property]) 
 
     { 
 
\t \t \t //i know this is a hack, for cccagg, future code please don't hate me:(, i did this to avoid 
 
\t \t \t //subscribing to trades as well in order to show the last market 
 
      \t if(property === 'LASTMARKET'){ 
 
       unpackedCurrent[property] = valuesArray[currentField]; 
 
      }else{ 
 
       unpackedCurrent[property] = parseFloat(valuesArray[currentField]); 
 
      } 
 
      currentField++; 
 
     } 
 
    } 
 

 
    return unpackedCurrent; 
 
};

Am unteren Ende dieser Hilfsdatei ich einen module.export tat (Die Helfer-Datei ist 400 Zeilen lang und ich will nicht zu jede Funktion in it) exportieren:

module.exports = { 
 
    unpackMessage: function(value) { 
 
     CCC.CURRENT.unpack(value); 
 
    } 
 
    }

Da ist in meiner ap p.js Ich rief

var helperUtil = require('./helpers/ccc-streamer-utilities.js');

und schließlich rief ich diese Funktion in app.js und console.log es:

res = helperUtil.unpackMessage(message); 
 
console.log(res);

Das Problem ist, dass die console.log jedes Mal ein undefiniertes gibt, aber in diesem Beispiel: https://github.com/cryptoqween/cryptoqween.github.io/tree/master/streamer/current (whi ch ist nicht node.js) es funktioniert perfekt. Also ich denke ich importiere falsch. Alles, was ich tun möchte, ist, dass die Nutzenfunktion in meinem app.js verwenden

Antwort

1

Der unPackMessage(val) Anruf nichts zurückliefert:

module.exports = { 
    unpackMessage: function(value) { 
    CCC.CURRENT.unpack(value); 
    } 
} 

Sie CCC.CURRENT.UNPACK(value);

module.exports = { 
    unpackMessage: function(value) { 
    return CCC.CURRENT.unpack(value); 
    } 
} 
zurückgeben müssen
Verwandte Themen