Javascript nodejsmysql2蓝鸟?
一直在测试mysql和mysql2,看起来mysql2做了一些改进,但它并不是一个确切的替代品。同时,Q是一个很好的库,它似乎更容易集成,但蓝鸟似乎占用更少的内存,运行速度更快,所以 我当前的mysql bluebird连接器如下所示,允许直接使用Javascript nodejsmysql2蓝鸟?,javascript,mysql,node.js,bluebird,mysql2,Javascript,Mysql,Node.js,Bluebird,Mysql2,一直在测试mysql和mysql2,看起来mysql2做了一些改进,但它并不是一个确切的替代品。同时,Q是一个很好的库,它似乎更容易集成,但蓝鸟似乎占用更少的内存,运行速度更快,所以 我当前的mysql bluebird连接器如下所示,允许直接使用query('SELECT email FROM users.users WHERE id=?',id.),然后(function(res){var email=res[0][0];}) 到目前为止,我尝试用mysql2做这件事的广告还没有成功 有人对
query('SELECT email FROM users.users WHERE id=?',id.),然后(function(res){var email=res[0][0];})代码>
到目前为止,我尝试用mysql2做这件事的广告还没有成功
有人对如何转换这一点有什么见解吗?
谢谢,Jegsar,您可以使用。这是一个简单的包装器,使用q,它向mysql2发出了承诺。如果您更愿意使用Bluebird,您可以查看这个包装器是如何创建的,然后自己动手操作。node-mysql2现在有了,您可以选择要使用哪种promise实现
var mysql = require('mysql2/promise');
mysql.createConnection({
Promise: require('bluebird'), // if not set, global Promise is used
user: 'foo',
password: 'bar',
database: 'baz'
})
.then((conn) => conn.query('select 1+1 as test'))
.then(([rows, fields]) => console.log(rows[0]))
我已经仔细看过了,但Q并不是蓝鸟的完美替代品,尤其是在他们如何promisify
callbacks方面。蓝鸟的原因是性能/内存。也许这是我实现Q的方式,与Bluebird相比,但由于切换内存使用率下降到原来的6%。。。由于ramhi Jegsar节省了5gb+的数据量,我可能会向mysql2 core添加promise支持(带有可选的可插拔promise实现)-请参阅反馈欢迎:)为什么不只使用公共api?您仍然为query
创建包装函数
var mysql = require('mysql2/promise');
mysql.createConnection({
Promise: require('bluebird'), // if not set, global Promise is used
user: 'foo',
password: 'bar',
database: 'baz'
})
.then((conn) => conn.query('select 1+1 as test'))
.then(([rows, fields]) => console.log(rows[0]))