У меня есть функция, которая вызывается через событие socket.io. Эта функция находится в другом расписании. Я хочу убедиться, что каждый раз, когда функция называется вызываемой, переменные в модуле не меняются предыдущими вызовами функций.переменные сервера в функциях
Я знаю, как это сделать на других языках: создайте новый экземпляр объекта, вызовите функцию, но я не могу заставить ее работать в javascript.
код выглядит следующим образом:
socket.io модуль, где функция вызывается
// -- all events -- //
io.on('connection', function (socket) {
console.log('user connected');
socket.on('increase', function (data) {
var increaser = require('./increase.js');
increaser.increase();
});
});
увеличение модуль, должен напечатать 1 каждый раз, но печатает 1..2..3..4 ....
/*jslint node: true */
"use strict";
// -- variables -- //
var counter = 0;
module.exports = {
increase : function() {
counter += 1;
console.log(counter);
}
};
Я хочу знать, как это сделать, потому что на моем сервере функция вызывается, что вызывает некоторые функции и асинхронный я хочу, чтобы убедиться, что все переменные остаться, как они не до го Вся функция полностью завершена и не изменяется, если другой клиент подключается и запускает одно и то же событие.
и теперь вы можете избавиться от 'var counter = 0' –
Да справа @JoseHermosillaRodrigo. исправлено сейчас :-) – Aruna
@Aruna, поэтому я должен экспортировать каждую переменную, которую функция использует с this.variable в функции экспорта? – Vujukas