В моем узле js program в маршрутах я создал массив с именем list. Я присвоил значение массиву из функции, объявленной в модели. Код для маршрута:изменение значения локальной переменной выполнить изменение значения исходной глобальной переменной
var express = require('express');
var router = express.Router();
var questionModel = require('../model/questionModel');
var userModel=require('../model/userModel');
/* GET home page. */
router.get('/', function(req, res, next) {
//declare an array and store the json data
var list=questionModel.getAllQuestions();
for(i=0;i<list.length; i++){
console.log(list[i].submitter);
console.log(userModel.getUserById(list[i].submitter)[0]);
list[i].submitter=userModel.getUserById(list[i].submitter)[0].fname;
}
console.log(list);
//respond with the array
res.json(list);
//res.redirect("../question/" + this_id);
});
module.exports = router;
Здесь, в модуле, я использую локальную переменную, как в этом классе проекта, я не использую какую-либо базу данных. Мои все модели извлекают значение из одной глобальной переменной.
Этот код работает нормально с первого запроса. Но при первом запросе изменение значения списка [i] .submitter локальное значение глобального изменения значения.
Изменение глобального значения создает проблему, когда я получаю второй запрос. При возврате второго запроса возврат из questionModel.getAllQuestions излишне обновляется.
Да, это проблема. Но какое решение? –
Спасибо. Ваша глубокая функция работала –
Рад помочь :) – mohamedrias