Создает ли mysql.createConnection() объект?

#mysql #node.js

#mysql #node.js

Вопрос:

В этом Node.js пример из W3school, createConnection() создает ли новый объект?

Если да, то как объект не создается одним из способов создания нового объекта; не литерал объекта, не с помощью new ключевого слова, не с помощью object.create() .

Если нет, то что же con.connect() ? Разве это не connect() метод con объекта ?

Пример :

 var mysql = require('mysql');  var con = mysql.createConnection({  host: "localhost",  user: "yourusername",  password: "yourpassword" });  con.connect(function(err) {  if (err) throw err;  console.log("Connected!"); });  

Ответ №1:

Если вы проверите код mysql, вы увидите createConnection , что он помогает настроить конфигурацию для подключения mysql и возвращает объект подключения. Вам не нужно создавать новый объект, так как он возвращает его.

 const connection = mysql.createConnection({  host: "localhost",  user: "yourusername",  password: "yourpassword" });  

createConnection это функция, которая использует оператор new и возвращает объект подключения. Он будет возвращать новый объект каждый раз, когда вы его вызываете.

Если нет, то что такое con.connect()? Разве connect() не является методом объекта con ?

Да, это метод для объекта con, который прикреплен к его прототипу. Таким образом, все объекты подключения будут иметь его.

Кроме того, я рекомендую вам проверить эту ссылку, это index.js пакет mysql npm и посмотреть, как он возвращает новый объект подключения.