2015-02-27 6 views
5

Я пытаюсь экспортировать модуль, который должен хранить хэш-таблицу с заданной информацией, чтобы другой вызов доступа к этой информации можно было проверить на наличие в хеш-таблице, и если она найдена, верните значение в хэш-таблице.Node.js - Модуль экспортирует статическую переменную

У меня возникли проблемы с получением хеш-таблицы в экспорте, чтобы она оставалась последовательной во всем приложении как одноэлементная/статическая/глобальная переменная.

Вот что у меня есть:

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; 

И когда я пытаюсь получить к нему доступ с:

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

Он создает новую хеш-таблицу для каждого экземпляра. Как я могу сделать это так, чтобы он повторно использовал один и тот же экземпляр хэш-таблицы?

+0

Просто хранить его в переменной 'результате переменная = randomize.randomize (строки),' – adeneo

+0

все, что вам показать это пустой массив с именем хэш-таблице. что происходит после этого? – lispHK01

ответ

4

Ваша хэш-таблица может быть неправильной области - возможно, она сбита с каждого require. Попробуйте вместо этого:

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; 
Смежные вопросы