Экспресс set () хранит ссылку или значение - PullRequest
0 голосов
/ 08 ноября 2019

Мне интересно, как работает функция экспресс set('name', ??).

Я знаю, что к приложению express прикреплено что-то, что может быть использовано get('name'). Сохраняет ли это ссылку на то, что вы присваиваете, или на самом деле хранит значение?

Пример:

      //mysql2.js
      var mysql2 = require('mysql2');

      //Set up connection
      module.exports = mysql2.createPool({
           host: 'localhost',
           user: 'user',
           database: 'database',
           password: 'password',
           waitForConnections: true,
           connectionLimit: 10,
           queueLimit: 0
      });

И в моем экспресс-приложении (

 const app = express();

 app.set('mysql2', require('./mysql2'));

Буду ли я хранить ссылку на функцию mysql2.createPool или я действительно буду открывать пул и передавать его по всему приложению?

1 Ответ

0 голосов
/ 09 ноября 2019

Поведение не зависит от функции set, но от того, что вы передаете в свойстве, в javascript скалярный объект копируется, сложный объект передается по ссылке. Итак, здесь внутри свойства mysql2 запоминается ссылка на объект, а объект является результатом вызова функции mysql2.createPool.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...