javascript - NodeJS mysql2 Bluebird ?

标签 javascript mysql node.js bluebird mysql2

一直在测试 mysql 与 mysql2,似乎 2 取得了一些改进,但它并不是替代品的确切下降。同时 Q 是一个很好的库,似乎更容易集成,但是 bluebird 似乎占用更少的内存并且运行速度更快,所以......

我当前的 mysql-bluebird 连接器如下所示,允许直接使用 query('SELECT email FROM users.users WHERE id=?',id).then(function(res){var email= res[0][0];});

/* global module, require */
var conf=require('./conf.js').conf;
var mysql = require('mysql');
var Promise = require('bluebird');
var using = Promise.using;
Promise.promisifyAll(require('mysql/lib/Connection').prototype);
Promise.promisifyAll(require('mysql/lib/Pool').prototype);

var pool = mysql.createPool(conf.mysql);

var getConnection = function () {
 return pool.getConnectionAsync().disposer(function (connection) {
 return connection.release();
 });
};
var query = function (command) {
 return using(getConnection(), function (connection) {
 return connection.queryAsync(command);
 });
};
function queryWrapper(q,a){
  if(a){
    return query(mysql.format(q,a));
  }
  else{
    return query(mysql.format(q));
  }
}
module.exports = {
 query: queryWrapper
};

到目前为止,我尝试使用 mysql2 执行此操作的广告还没有成功。

有没有人对如何转换它有任何见解? 谢谢,杰格萨

最佳答案

您可以使用 mysql2-promise .它是一个简单的包装器,使用 q,promisifies mysql2。如果您更愿意使用 Bluebird,您可以查看此包装器的创建方式并自行创建。

关于javascript - NodeJS mysql2 Bluebird ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31353714/

相关文章:

javascript - 在 Vue.js 应用程序中添加 CSS 文件的正确方法

javascript - jquery ajax 回复上的 Selecton

php - 如何将我的 sql 查询中的连接转换为 laravel ORM

javascript - MySQL/AJAX/jQuery 自动完成

node.js - MongoDB Node.js 地理定位

node.js - 将中间件添加到单个路由 Js Express 的最简洁方法

javascript - 如何锁定输入[type=file]?

javascript - 无法在 html 文本框中添加两个乘法结果

mysql - 与 MySQL 一起使用多年的 Perl 脚本在升级到 MariaDB 后不再起作用

javascript - 使用 Express 上的 API key + Secret 保护我的 RESTful API