这是一篇学习笔记 各种融合的杂谈
Eslint学习
-
安装Eslint
npm i eslint@latest g -
配置文件 .eslintrc.json
eslint --init -
eslint test.js
1:5 error 'username' is assigned a value but never used no-unused-vars 3:4 error Expected a conditional expression and instead saw an assignment no-cond-assign 3:4 error Unexpected constant condition no-constant-condition 3:4 error 'a' is not defined no-undef 4:5 error Unexpected console statement no-console 7:5 error 'age' is assigned a value but never used no-unused-vars 9:1 error 'number' is not defined no-undef
-
安装vscode eslint插件 ESLint
nodejs数据库操作
sql传参方式
- 字符串拼接
var id = 10;
var sql = "SEELCT * FROM user WHERE id = '+id+'";
- 占位符
var id = 10;
var sql = "SEELCT * FROM user WHERE id = ?";
var param = [id];
query(sql,param,function(err,data){
});
nodejs处理查询结果
var sql = "SELECT id,username,password FROM user WHERE username = ?";
var param = ['小明'];
// 1. SEELCT查询返回对象data是一个数组对象
query(sql, param, function (err, data) {
if (err) {
console.log('查询用户出错!');
return;
}
for(var i = 0; i < data.length; i++){
console.log(data[i].username+ " "+data[i].password);
}
});
后台管理管理系统集成数据库
- 下载安装mysql第三方包
npm i mysql --save - 数据库操作模块引入 dbconnect.js
- 路由跳转处代替数组
遇到问题
- 封装的query函数 在关闭连接之后未重新创建
/**
* 封装通用数据库操作函数
*/
function query(sql, param,callFunction) {
//1. 配置数据库连接参数,创建连接对象
var connection = mysql.createConnection({
host: '192.168.41.118',
port: 3306,
user: 'test',
password: 'web1804',
database: 'usermanager'
});
//1. 建立连接
connection.connect();
// 2. 发送SQL语句到mysql服务端执行
connection.query(sql, param, callFunction);
// 3. 关闭连接
connection.end();
}
Promise
-
什么是promise?
Promise是JavaScript中的一个对象,“承诺将来会执行”,它以更优雅的方式实现javascript中的异步回调操作。
Promise本意是承诺,在程序中的意思就是承诺我过一段时间后会给你一个结果。 什么时候会用到?答案是异步操作,异步是指可能比较长时间才有结果的操作,例如网络请求、读取本地文件等
1.Promise的三种状态
- Pending----Promise对象实例创建时候的初始状态
- Fu