选用更加易懂的设计模式封装node-mysql

本文介绍了一种封装Node.js中MySQL操作的方法,通过构造链式调用的模式来增强代码的可读性和易用性。展示了如何创建一个连接类,并实现query和then等方法,最终达到类似axios链式调用的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

js的三大特性之一封装性相信大家都是知道的。可是封装函数应该如何选用合理的设计模式呢。

比如我们在用axios的发送ajax的时候可以写成axios.post().then().catch()的写法。

这种链式的写法,让语句变得更加清晰明了。

同样的我们队node-mysql的语句封装也可以模仿这种设计模式(称为构造模式)

var mysql      = require('mysql');
function connect(database){
return new conector(database)
}
class conector{
constructor(database){
this.connection = mysql.createConnection({
  host     : 'localhost',
  user     : 'root',
  password : '****',
  database : database
});
this.connection.connect();
}
query(sql){
var that=this;
this.connection.query(sql, function (error, results, fields) {
  if (error) throw error;
  console.log('The solution is: ', results[0].solution);
  that.then(error, results, fields)
});
}
then(error, results, fields){
fn(error, results, fields)
this.connection.end();
}
}
module.exports=connect;

这样:当我们const connect=require(该模块路径后)

则可以使用connect(数据库).query(sql语句).then(fun(){成功后方法})

比较清晰的设计模式,当然还可以依次类推,将host或user设置成变量

大家可以想象一下如何封装一个可以这样执行的函数

connect(数据库).host(接口名).user(用户名).query(sql语句).then(成功后方法).catch(失败后方法).end(关闭connect连接)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值