2016-06-29 7 views
0

Ich habe eine connector.js Datei, mit der ich dbResult Objekt exportieren möchte.Konnte keine Variable von Modulexporten erhalten

(function(){ 
var Massive = require("massive"); 

var connectionString = "postgres://postgres:[email protected]/postgres"; 
var db = Massive.connectSync({connectionString : connectionString}); 

var dbResult ; 

db.query("Select * from company", function (err, data) { 
     dbResult = data; 
     console.log(data); 
    }); 
})(module.exports); 

jetzt in einer anderen Datei Ich versuche, die dbResult und zeigt die Daten zu erhalten:

var express = require("express"); 
var app = express(); 

var connectorObject = require("./Connector.js"); 

var Massive = require("massive"); 

app.get("/api/Steves",function(req,res){ 

     res.set("Content-Type","application/json"); 
     res.send(connectorObject.dbResult); 
    }); 


app.listen(3000); 

console.log("Server Started on port 3000..."); 

Aber wenn ich die URL zu starten, nicht in der Lage eine Antwort zu sehen.

Fehle ich hier irgendetwas.

Antwort

1

Was Sie tun möchten, ist eine Funktion zurück, die später für das Ergebnis ausgewertet werden kann:

var Massive = require("massive"); 

var connectionString = "postgres://postgres:[email protected]/postgres"; 
var db = Massive.connectSync({connectionString : connectionString}); 

module.exports.getCompanies = function(callback) { 
    db.query("Select * from company", callback); 
} 

Dann können Sie es von anderen Dateien als Zugang:

var connector = require('./Connector'); 
connector.getCompanies(function(err, data) { 
    if (err) return console.error(err); 
    console.log(data); 
}); 
Verwandte Themen