1、时间格式化
function getdate() {
var now = new Date(),
y = now.getFullYear(),
m = now.getMonth() + 1,
d = now.getDate();
return y + "-" + (m < 10 ? "0" + m : m) + "-" + (d < 10 ? "0" + d : d) + " " + now.toTimeString().substr(0, 8);
}
getdate() //"2019-09-24 10:25:48"
2、时间转时间戳
var timestamp1 = (new Date()).valueOf();
timestamp1 //1569292558354
3、时间戳转时间
var s = new Date(1472048779952)
s //Wed Aug 24 2016 22:26:19 GMT+0800 (中国标准时间)
------------------------------------------------------------------------------------------
简单来说:async-await 是建立在 promise机制之上的,并不能取代其地位。
举例说明啊,你有三个请求需要发生,第三个请求是依赖于第二个请求的解构第二个请求依赖于第一个请求的结果。若用 ES5实现会有3层的回调,若用Promise 实现至少需要3个then。一个是代码横向发展,另一个是纵向发展。今天指给出 async-await 的实现哈~
//我们仍然使用 setTimeout 来模拟异步请求
function sleep(second, param) {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve(param);
}, second);
})
}
async function test() {
let result1 = await sleep(2000, 'req01');
let result2 = await sleep(1000, 'req02' + result1);
let result3 = await sleep(500, 'req03' + result2);
console.log(`
${result3}
${result2}
${result1}
`);
}
test();
//req03req02req01
//req02req01
//req01
5、定时器的节流和防抖
理解js的执行机制
主线程 (同步)+ 事件队列 (异步 ,异步请求 、点击事件、定时器)
主线程执行完成后才会执行 事件队列里的任务
通过定时器,我们可以实现函数节流和函数防抖。
6、项目小知识总结
自己封装组件
父子组件的交互
echarts
地图
路由对应的 鉴权问题 ----ok token的用法
vuex
element ui ----ok
绑在vue构造函数的原型上的方法----ok
axios ----ok
mian.js的重要性 ----
table使用的一些小技巧
图片的引用 js css import等
蓝湖
es7
async await ------异步变同步写法