2015-02-27 23 views
5

Verilen bilgilerin kaydedilmesini gerektiren bir modülü depolamaya çalışan bir modülü dışa aktarmaya çalışıyorum, böylece bu bilgiye erişmek için başka bir çağrı hashtabanın varlığına göre kontrol edilebilir ve bulunursa geri dön hashtable değeri.Node.js - Modül statik değişkenleri dışa aktarıyor

Uygulamada tekil/statik/global değişken olarak tutarlı kalması için ihracattaki hashtable'ı almada sorun yaşıyorum.

var Randomize = { 

    hashTable: [], 
    randomize: function(rows) { 

    var randomized = []; 
    for(var i in rows) { 
     //check if exists in hashtable, use values accordingly 
    } 
    return randomized; 
    } 

}; 

module.exports = Randomize; 

Ve bunu erişmeye çalıştığınızda:

İşte ne var

var randomize = require('randomize'); 
/* ... */ 
console.log(randomize.randomize(rows)) 

Her kopya için yeni bir hashtable oluşturur. Bunu, aynı karmaşa örneğini tekrar kullanabilmesi için nasıl yapabilirim?

+0

Sadece = randomize.randomize (satırlar) bir değişken 'var result depolamak;' – adeneo

+0

göstermek tüm Hashtable adında boş dizidir. bundan sonra ne olur? – lispHK01

cevap

4

Hasar durumunuz yanlış bir kapsamda olabilir - muhtemelen her require ile gizlenmiş olabilir. Bunun yerine bu deneyin:

var hashTable = []; 

var Randomize = { 

    hashTable: hashTable, 
    randomize: function(rows) { 

    var randomized = []; 
    for(var i in rows) { 
     //check if exists in hashtable, use values accordingly 
    } 
    return randomized; 
    } 
}; 

module.exports = Randomize; 
İlgili konular