跟着慕课网课程学习一个月左右,仿写一个完整的朋友圈web app,这里记录一下自己学习的知识点。
1.在vue里使用到setTimeout和setInterval,在组件销毁时,要注意清除定时器标志位;
2.async/await
这个语法主要解决以下两个问题:
a.过多的嵌套回调问题;
b.以Promise为主的链式回调问题;
声明异步函数只需要在普通函数前面加一个关键字async即可
async function myFunc() {}
async 函数返回一个Promise对象,因此async函数通过return返回的值,会成为then方法中回调函数的参数,代码如下
async function myFunc() {
return 'str'
}
myFunc().then(value => {
console.log(value)
})
单独一个async函数,其实与Promise执行的功能是一样的,所以需要await,代码如下:
let foo = await myFunc();
3.session 和 cookie验证的问题
a.session一般存于服务器内存中,如果是分布式或者服务器集群,就要求session数据共享,每台服务器都能读取session,这样就会产生负载均衡问题。
b.cookie+session机制,session写入cookie来储存,就会有一定的csrf安全风险
json web token(简称jwt)
a.用户登录,成功后服务器存储token并返回token给客户端;
b.客户端收到数据后保存在客户端;
c.客户端再次访问服务器,取出token放入http请求的header中
d.服务器采用拦截器校验,针对需要token的接口,检验成功则返回请求数据,校验失败则返回错误码
服务器存储token一般在数据库进行,而客户端请求时将token加入headers中,这样可以防止csrf
网友评论