NodeJs util.promisify不是一个函数?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (491)

我试图promisify一个mysql函数,但是当我运行它的控制台显示此错误util.Promisify is not a function。这是我的代码:

var util=			require('util');
var mysql=          require('mysql');

var conection=mysql.createConnection({           
				host:'localhost',                   
				user:'root',                        
				password:'616897',               
				database:'proyect'                    
	});
  
  var query = util.promisify(conection.query);
  
  query(data.valida_user).then((rows)=>{
	console.log(rows);
}).catch((error)=>{
	console.log(error);
})

如果出现同样的错误 var query = util.promisify(mysql.query);

提问于
用户回答回答于

除非你使用Node.js 8.x,否则这个函数将不会被定义,而是被添加到核心实用程序库中的时候。

作为util一个核心Node.js库,你不应该安装它。如果你使用的是Node.js 6.x,那么使用一个像Bluebird这样的promisify函数库。

用户回答回答于

如果你愿意,你可以自己承诺: const promisify = f => (...args) => new Promise((a,b)=>f(...args, (err, res) => err ? b(err) : a(res)));

扫码关注云+社区

领取腾讯云代金券