导出( export )和导入( import )
注意导出的模块是函数还是值,如果导出的模块是一个函数,引用的时候要加(),如果导出的是值就不需要就()
第一种
// 导出方式
function aesDecrypt(data: string, password: string) {}
function aesEncrypt(data: string, password: string) {}
export let cryptUtil = {
aesEncrypt: aesEncrypt,
aesDecrypt: aesDecrypt,
};
// 导入方式
import { cryptUtil } from "./crypt_util";
第二种
// 导出方式
export let Header = {
serverType: {},
serverStatus: {},
};
// 导入方式
import { Hearder } from "./Header";
第三种
// 导出方式
module.exports = { serverType: {} ....}
// 导入方式
let Header = require("./Header")
// 或者
import * as Header from "./Header"
第四种
// 导出方式
let a:any={}
a.b=()=>{}
a.c=()=>{}
module.exports={a}
// 导入方式
import a from "./Header"
this 丢失作用域问题
// 在回调函数外边先声明一个 that 指向正确的 this
let that = this;
async/await 控制异步
async getUserList(){
let res = await this.mysqlPool.get(platform).exec(`select * from users `);
let res2 = await this.mysqlPool.get(platform).exec(`select * from users `);
}
数据库操作结果
// 如果当前表有一个自增字段,insert语句的结果中的res[0].insertId就是当前插入的字段字段的值
let userName = "a";
let password = "b";
let res = await this.mysqlPool
.get(platform)
.exec(
`INSERT INTO users (userName,password) VALUES ('${userName}', '${password}')`
);
let id = res[0].insertId;
id = id || 0;
if (id == 0) {
return 0;
}
// 查询语句中,res[0][0]是最后的结果集,加入里边有个password字段,那么password字段就在res[0][0].password
let res = await this.mysqlPool
.get(platform)
.exec(`select * from users where userName='${userName}' limit 1`);
console.log(res[0][0]);
console.log(res[0][0].password);
函数的定义
function a(b:string){}
let a =(b:string)=>{}