Требуется в классе JS - PullRequest
       9

Требуется в классе JS

0 голосов
/ 08 июня 2018

Я новичок в использовании классов в JS и пытался найти для него лучшие практики, и мне было интересно, как требуется работа при использовании его в классе.

Скажем, я хотел создать класс IoT Connection для использованияустановить соединение с лазурным узлом.Для создания соединений мне нужны некоторые требования, чтобы получить функцию getClientFromConnectionString.

var Protocol = require('azure-iot-device-amqp').Amqp;
var clientFromConnectionString = require('azure-iot-device-amqp').clientFromConnectionString;

class IoT_Connection {

    constructor(_deviceName, _securityKey1, _securityKey2) {
        this.deviceName = _deviceName;
        this.securityKey1 = _securityKey1;
        this.securityKey2 = _securityKey2;

    }    
}


module.exports = IoT_Connection;

var conn = new IoT_Connection("z", "x", "y");

Что происходит, когда я создаю новый экземпляр класса?Требуется ли загрузка только один раз, или это было бы проблемой, если бы я делал сотни соединений каждые несколько минут?

Есть ли лучший подход к этой проблеме?

1 Ответ

0 голосов
/ 08 июня 2018

Да;всякий раз, когда вы запускаете ваш сервер nodejs, ваш код интерпретируется движком javascript (в данном случае - движком V8), он будет интерпретировать ваш код.Файл, который требуется для любого из начальных файлов (server.js или app.js), будет интерпретирован, а операторы require будут выполняться только один раз.

Итак,

var clientFromConnectionString = require('azure-iot-device-amqp').clientFromConnectionString;

установит только одно соединение.

Чтобы лучше понять, «как module.exports и требуют работы», создайте пустой файл и сделайте немного console.log('foo') там, а require это в вашемсуществующий код.

...