钩子函数好绕脑啊 还都是回调函数的用法
然后这些好抽象,好抽象啊 我盘了一天的逻辑
老师您看我的理解 偏差大么?
flask 里面内置的信号
(相当于是对befor_request 和errorhandler等钩子函数 功能的补充)
1,before_render_template 模板渲染之前的信号
概念的理解:
相当于成vue 的DOM视图渲染之前 也就是 beforeMount(()=>{}) 的生命周期函数
然后我们可以在这个信号的回调函数里面去实现相应的逻辑业务
所以我在这个钩子函数中在写了一个简单的屏蔽非法字符的示例
2,template_rendered 模板渲染之后的信号
相当于vue的 DOM视图渲染完成之后 mounted 的生命周期函数
这玩意在vue中可以说太常用了 甚至达到了离不开他的地步,
但是由于我们flask不能直接操作DOM树 相比较用它去操作dom,干脆直接在js里去操作
但是我想到了 可以用它写了一个简单的监听 页面渲染完毕之后的性能示例
之后的学习应该还能找到更多的用途把。
3,request_started 路由发送请求开始 在到达视图函数之前的信号
# 约莫相当于vue中的前置路由守卫 ? router.beforeEach((to, from, next)
这个里面我们应该可以填入一些 登录权限验证 但是感觉这个并不是常用的
因为它可以实现的业务 貌似我们用普通装饰器 或者在视图函数中都可以实现
4,request_finished 请求结束时 在响应发送客户端之前的的时候
那么我们在这个这个节点 获取用户的ip 然后统计到日志中 应该挺恰当的
毕竟请求已经结束了 我们写入日志 并不会影响请求的处理时间
5,request_tearing_down 请求对象销毁的时候 发送的信号 相当于Vue的beforeDestroy 。都是在组件销毁之前发送的信号
6,got_request_exception 请求过程中抛出异常时候 发送的信号 相当于vue中的errorCaptured 捕获错误
以上2个我们二选一 就是我们课堂说的可以捕获错误日志 这个是理解了
7,关于上下文对象还是朦朦胧胧的 感觉就挺神奇的 但是摸不着 所以它的信号触发节点 可以用来干嘛 还是不太清楚 我说理解的上下文对象 就是感觉是一个桥梁 可以传递数据 然后这个它里面的这个before_request
每次发送请求的时候都会触发 这个感觉实用性好大!
滤的头昏脑胀的 越来越迷糊了