承诺的mysql模块如何与NodeJS一起使用?

承诺的mysql模块如何与NodeJS一起使用?,第1张

承诺的mysql模块如何与NodeJS一起使用?

如果某个方法是带有单个参数节点
errback”-它将在中没有任何参数地进行解析,

then
或者
err
通过传递给它而被拒绝。如果是promisification,则可以使用
.error
或使用
Promise.OperationalError

这是一个简单的方法:

function getConnection(){    var connection = mysql.createConnection({      host     : 'localhost',      user     : 'me',      password : 'secret'    });    return connection.connectAsync().return(connection); // <- note the second return}getConnection().then(function(db){    return db.queryAsync(....);}).error(function(){   // could not connect, or query error});

如果这是用于管理连接-我会使用

Promise.using
-这是API的示例:

var mysql = require("mysql");// uncomment if necessary// var Promise = require("bluebird");// Promise.promisifyAll(mysql);// Promise.promisifyAll(require("mysql/lib/Connection").prototype);// Promise.promisifyAll(require("mysql/lib/Pool").prototype);var pool  = mysql.createPool({    connectionLimit: 10,    host: 'example.org',    user: 'bob',    password: 'secret'});function getSqlConnection() {    return pool.getConnectionAsync().disposer(function(connection) {        try { connection.release();        } catch(e) {};    });}module.exports = getSqlConnection;

这会让你做:

Promise.using(getSqlConnection(), function(conn){    // handle connection here, return a promise here, when that promise resolves    // the connection will be automatically returned to the pool.});


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5018364.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存