mysql.createConnection()是否创建一个对象?

mjqavswn  于 2023-01-08  发布在  Mysql
关注(0)|答案(1)|浏览(112)

在这个来自W3school的Node.js示例中,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!");
});
x4shl7ld

x4shl7ld1#

如果你检查mysql代码,你会发现createConnection帮助设置mysql连接的配置,并返回连接对象,你不需要创建一个新的对象,因为它返回了一个。

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

createConnection是一个使用new操作符并返回连接对象的函数。每次调用它时,它都会返回新的对象。
如果不是,什么是con.connect()?connect()不是con对象的一个方法吗?
是的,这是一个连接对象的方法,它附加在连接对象的原型上。所以,所有的连接对象都会有它。
另外,我建议你检查这个链接,它是mysql npm包的index.js,看看它是如何返回新的连接对象的。

相关问题