Сохраняются значения переменных
Добрый день
Подскажите пожалуйста как можно исправить такое: 1. запускается сервер на node js, делаются пост запросы, выполняется скрипт 2. до выполнения переменная не объявлена, после выполнения скрипта она становится равна допустим: "3,21215;" 3. при следующем запрос переменная будет равна уже: "3,21215; 4,26215;" Просто прибавляются значения Объявлять переменные не вариант = их очень много, и очень долго выбирать нужные. Тоесть нужно чтобы "перезапускался" сервер при каждом запросе, у каждого исполнения скрипта - его значения, без сохранения других предыдущих. Как такое можно реализовать? |
Цитата:
|
Цитата:
максимально подробно объяснить хотел я понимаю что нужно заново "инициализировать"(хрен знает как верно) переменные |
davisaliw,
Состояние и данные приложения обычно хранятся в базе данных. Если уж данных совсем мало, то можно и в обычные файлы записывать. Если у вас сложные данные с зависимостями, то берите реляционную БД (mysql, oracle, postgresql and etc...), если совсем простые, то key-value хранилище. Вы можете вообще "не хранить" переменную непосредственно в nodejs, а всегда ходить в БД, чтобы взять или изменить её значение. Все зависит от решаемой задачи. Вы в своем вопросе не пишите какую именно задачу вы пытаетесь решить, поэтому дать вам правильное решение просто невозможно. |
Цитата:
Я так понимаю проблема в том, что переменная не объявлена "var ..." А просто используется, без объявления Поэтому, если несколько раз использовать скрипт, то она сохраняет все значения которые получила: После первого выполнения скрипта: "3,14124;" После второго "3,14124;4,56123;" После третьего: "3,14124;4,56123;5,151173" и т.д. После перезапуска сервера и первого выполнения: "3,14133;" .... и т.д. И таких переменных более 50 штук. Каждый запрос выполняется отдельно(новые пост запросы); Cуть скрипта в вычислении финальной строки, а из за того что сохраняются значения переменных - она уже неверная после первого выполнения. Мне нужно чтобы каждое выполнения скрипта было как новое, без влияния на него предыдущих. Вот так, например, "объявляется" и переменной присваивается значение ( без var ): check.cn_el = check.cn_el + z; |
А check в вашем коде это синглтон?
Ну пишите тогда внутри функции которая его использует так: check.cn_el = z |
Цитата:
нужно что то глобальное на все код, мб взять всё в функцию |
Пример вашего кода пожалуйста напишите, из ваших постов вообще не понятно что вы имеете ввиду.
|
Цитата:
я ошибся, сказав что она не объявлена - объявлена, но все равно какой то баг; Получается так: К каждому новому запросу, в check.cn_el прибавляется новое значение, но старое при этом не затирается - а нужно только новое(новые если цикл). Старое значение убирается только перезапуском сервера. Я взял check.cn_el как пример. Там много переменных, с которыми происходит тоже самое |
var check = { cn_el: '' }; function hardWork(n /* string */) { check.cn_el = ''; for (var el of n) { check.cn_el += el; } return check.cn_el } console.log(hardWork('234')); // '234' console.log(check) // {cn_el: '234'} console.log(hardWork('345')); // '345' console.log(check) // {cn_el: '345'} console.log(hardWork('456')); // '456' console.log(check) // {cn_el: '456'} |
Часовой пояс GMT +3, время: 22:42. |