Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript nodejsmysql2蓝鸟?_Javascript_Mysql_Node.js_Bluebird_Mysql2 - Fatal编程技术网

Javascript nodejsmysql2蓝鸟?

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做这件事的广告还没有成功 有人对

一直在测试mysql和mysql2,看起来mysql2做了一些改进,但它并不是一个确切的替代品。同时,Q是一个很好的库,它似乎更容易集成,但蓝鸟似乎占用更少的内存,运行速度更快,所以

我当前的mysql bluebird连接器如下所示,允许直接使用
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]))