module.export и глобальные объекты

Решение для меня состояло в том, чтобы щелкнуть правой кнопкой мыши по проекту Mvc, выбрать свойства и нажать «Создать виртуальный каталог».

Появилось окно с сообщением о том, что проект был сопоставлен с неправильной папкой (он показал папке для другого проекта TFS. Он дал возможность отобразить его обратно в нужную папку.

0
задан Johnathan Enslin 15 January 2019 в 16:41
поделиться

1 ответ

[Перестройте ваш код, чтобы вы создавали новый объект при каждом запросе. Модули кэшируются по первому требованию, поэтому все ваши переменные и свойства объекта будут сохраняться при вызовах.

// handler.js



const somethingFactory = require('./otherfile')

module.exports = function(){
  let handlers = {}
  const something = somethingFactory();

  handlers.customers = function (data, callback) {
    let acceptableMethods = ['post'];
    if (acceptableMethods.indexOf(data.method) > -1) {
      handlers._customers[data.method](data, callback);
    } else {  
      callback(405); 
    }
  };

  handlers._customers = {}

  handlers._customers.post = async function (data, callback) {
    customer.new(data);
    callback(200, 'success')
  }

  return handlers;

};

otherfile.js

module.exports = function(){
  let contacts_list = [];
  let accountData = {};

  return {
     new: {
      dostuff: async function (data) {
      // update and reference global objects here..
      accountData.name = data.name;
      accountData.otherProperty = await somefunction(data.prop)
     }
    }
  }

};

0
ответ дан Mike Zinn 15 January 2019 в 16:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: