Ele*_*ega 19 javascript mysql node.js
我正在尝试宣传一个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);
})Run Code Online (Sandbox Code Playgroud)
如果相同的错误
var query = util.promisify(mysql.query);
我是新编程但我正在努力学习.
zub*_*024 27
util.promisify是Node 8.X版本的一部分.但是您仍然可以为旧版本的Node提供polyfill.
polyfill可用于处理您将运行应用程序的旧版本节点服务器.它可以通过以下方式通过npm安装:
Run Code Online (Sandbox Code Playgroud)npm install util.promisify现在,您可以在旧版本的Node上修补模块utl
Run Code Online (Sandbox Code Playgroud)const util = require('util'); require('util.promisify').shim(); const fs = require('fs'); const readFileAsync = util.promisify(fs.readFile);
引自http://grizzlybit.info/2017/09/29/Node-JS-8-Util-Promisify/
除非您使用Node.js 8.x,否则将不会定义此函数,即将其添加到核心Utilities库时.
作为util核心Node.js库,您不必安装它.如果您正在使用Node.js 6.x,那么使用像Bluebird这样具有promisify功能的库.
其他人已经说过解决方案,但这是此错误的另一个来源:
有一个NPM软件包es6-promisify也可以给出错误消息TypeError: promisify is not a function。(这就是为什么我要问这个问题。)
需要const promisify = require("es6-promisify");使用es6-promisifiy版本5.0.0,然后使用result = promisify( ... );
版本6.0.0更改了API,并且声明更改为 const { promisify } = require("es6-promisify");
| 归档时间: |
|
| 查看次数: |
20981 次 |
| 最近记录: |