所有我对节点都很陌生,我刚学会了javascript中提供的async和await函数.我正在尝试在下面附带的代码片段中实现此方法.根据我的理解,数据库响应应首先打印到控制台然后“完成”,但我无法让它工作.任何帮助将不胜感激.

还请尝试解释你为解决它做了什么,因为我想了解我做错了什么.

var mysql = require("mysql");

const cTable = require('console.table');

var connection = mysql.createConnection({

host: "localhost",

port: 8889,

user: "root",

password: "root",

database: "testDB"

})

connection.connect((err, fields) => {

if (err) {

return console.log(err.code);

}

});

var displayDB = async () => {

connection.query('SELECT * FROM products', (err, resp) => {

if (err) {

return console.log(err.code);

} else {

table = [];

resp.forEach((product) => {

obj = {

'Product ID': product.productID,

'Category': product.category,

'Price': product.price,

'Stock': product.stockQuantity

}

table.push(obj)

})

console.table(table)

connection.end()

}

})

}

var test = async () => {

var x = await displayDB()

console.log('done')

}

test()

解决方法:

您的displayDB函数中没有return语句.

通常这会导致函数返回undefined,但是因为你声明它是异步的,它会导致它返回一个立即解析的Promise.

如果您希望它等到数据库查询完成,那么您需要显式返回一个新的Promise,它在您准备就绪时解析(即在您调用connection.end()之后).

标签:javascript,mysql,node-js

来源: https://codeday.me/bug/20191003/1848678.html

js 连mysql 延后_javascript – 异步并等待节点js中的MySQL调用相关推荐

  1. 树莓派要mysql的密码_树莓派raspberry Pi 3B+系统中安装mysql过程中不提示输入密码,安装完后如何设置密码...

    树莓派raspberry Pi 3B+安装mysql未提示输入密码,安装后修改mysql密码默认密码 使用mysql -uroot -p 命令连接mysql时,报错 pi@raspberrypi:/ ...

  2. [乐意黎]Centos里MySQL启动后无故停止,并抛 Warning: PDO::query(): MySQL server has gone away

    阿里云ECS里Centos自建 MySQL数据库,启动后经常无故停止服务. PHP程序有关MySQL的地方抛: Warning : PDO::query(): MySQL server has gon ...

  3. mysql在linux下显示花_在Linux 中搭建 Mysql

    在本次搭建,出现了各种问题,一直解决不掉,建议各位小伙伴不要像我一样,像一个无头的苍蝇一样,这有问题就解决这个问题,没有意识本质实在的问题. 主要问题(加星,标重点):一定要看自己的linux 版本, ...

  4. linux修改容器内的mysql端口_Linux系统下修改phpstudy集成环境中的MySQL端口号的步骤...

    这篇文章给大家介绍的内容是关于Linux系统下修改phpstudy集成环境中的MySQL端口号的步骤 ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1. 首先需要安装好phpstu ...

  5. mysql 魔术设置_09年系统架构师大会中一个mysql小魔术的分析

    记得在09年系统架构师大会上一个51.com的DBA秀了一个mysql的小"魔术",其大概过程是不更改数据库表中的数据,只是执行了一下flush table表中的数据就全部改变. ...

  6. mysql utf8转gbk cmd_转:在CMD中操作mysql数据库出现中文乱码解决方案

    百度了一下..有说将cmd字符编码用chcp命令改为65001(utf8字符编码),可这样之后根本无法输入中文,查询出的中问结果依旧乱码 其实,只要保证cmd客户端和MySQL两者编码一致即可. 但现 ...

  7. hive安装需要安装mysql区别_HIVE安装系列之一:在Linux中安装mysql,为其作为hive的metastore做准备...

    安装mysql的Linux机器是Centos6的系统,机器名字叫combanc05 mysql我采用的是5.5版本. 安装过程中需要解决新旧版的冲突问题,并允许mysql被远程访问.以便其作为hive ...

  8. mysql设置用户永不过期_在Navicat Premium中管理MySQL用户 - 第2部分:创建新用户

    第2部分:创建新用户 在第1部分中,我们学习了如何使用Navicat Premium用户管理工具保护MySQL root帐户.本篇文章将讨论设置新用户的帐户详细信息,帐户限制和SSL设置. The G ...

  9. navicat新建mysql用户_Navicat使用教程:在Navicat Premium中管理MySQL用户 - 第2部分:创建新用户...

    第2部分:创建新用户 在第1部分中,我们学习了如何使用Navicat Premium用户管理工具保护MySQL root帐户.本篇文章将讨论设置新用户的帐户详细信息,帐户限制和SSL设置. The G ...

  10. js 连mysql 延后_详解MySQL 主从同步延迟

    mysql 用主从同步的方法进行读写分离,减轻主服务器的压力的做法现在在业内做的非常普遍. 主从同步基本上能做到实时同步.我从别的网站借用了主从同步的原理图. 在配置好了, 主从同步以后, 主服务器会 ...

最新文章

  1. 十二届蓝桥杯省赛B组C++解析(填空题部分)
  2. 【redis】c/c++操作redis(对于hiredis的封装)
  3. VB中对AutoCAD图形对象进行缩放操作
  4. easyui tabs 使用iframe 出现两个垂直滚动条 解决方法
  5. 解决git下载出现:Failed to connect to 127.0.0.1 port 1080: Connection refused拒绝连接错误
  6. 【学习笔记】〖ASP.NET〗连接字符串的函数
  7. js笔记(8)之数组篇
  8. python基础-元组
  9. 基于SpringBoot+Vue开发的前后端分离博客项目-Java后端接口开发
  10. VMWare虚拟机NAT模式下static IP
  11. 解决vue axios跨域请求发送两次问题
  12. php Apache配置伪静态的介绍
  13. 和cesuim类似的三维GIS平台_绿城南宁,火红的三维GIS
  14. 按头安利!好看又实用的电机 SolidWorks模型素材看这里
  15. 简单实用流程图模板分享,建议收藏
  16. 【图像去噪】基于非局部均值(NLM)滤波图像去噪含Matlab源码
  17. MIMO中SM系统原理与仿真
  18. PHP生成唯一RequestID类
  19. 软考笔记(八)高级系统架构师/分析师:系统架构
  20. 程序员转型培训班讲师的故事

热门文章

  1. 基于c语言的成绩管理系统,基于C语言实现学生成绩管理系统.docx
  2. yudian温控表a1温度怎么补偿_贴片电容怎么确定型号
  3. 消息队列控制灯代码_基于ARM的智能灯光控制系统经验总结分享
  4. 中缀表达式求值、后缀表达式求值、中缀转后缀、前缀
  5. Linux命令行手动配置无线wiff网络 iwconfig
  6. juel java_Juel基本使用
  7. java实例化全局变量_静态/全局变量的内存隔离(多实例化)
  8. 汇川技术js600变频器_汇川变频器MD200系列产品型号及功能介绍
  9. java位原子_Java原子操作AtomicInteger的用法
  10. 自动驾驶1-2 欢迎来到课程 Welcome to the Course