Ryan
Ryan
你好,从你的开源代码中学到很多,非常感谢! [数据流异常拦截器](https://github.com/surmon-china/nodepress/blob/master/src/interceptors/error.interceptor.ts)按照 `README` 的描述是:当控制器所需的 Promise service 发生错误时,错误将在此被捕获 有两个个疑问: 1. 该拦截器只是收集了错误信息并抛出异常(`CustomException`),仅仅是这样的需求的话,为什么不直接通过过滤器(`HttpExceptionFilter`)捕获错误呢?因为拦截器抛出的异常(`CustomException`)最终依然是交给过滤器(`HttpExceptionFilter`)来处理,而过滤器的第一个参数 `exception` 是有完整的错误信息的 2. 该拦截器中抛出异常的代码是 `throwError(new CustomException({ message, error }, statusCode));`,这样的写法会导致在终端中打印出 抛出异常的无效堆栈信息 ,并没有记录实质的请求相关的内容 我在生产环境中并没有关闭 `NestJS ` 的 `Logger`,所以我在 `HttpExceptionFilter` 中多加了些打印日志 ```js...
原文如下  事件触发一直都是按照:捕获-事件源-冒泡,三个阶段在触发。 只不过 **捕获事件** 与 **冒泡事件** 均是针对事件源的所有父元素来定义的。 因此,文中在同一个元素上绑定捕获事件与冒泡事件,并触发了这个元素的事件是没有意义的。 表现出来的效果也就是:触发顺序与绑定顺序相同。 但是当在该元素的子元素上触发一个事件,此时,这个元素的触发顺序自然就是先捕获后冒泡。
- dependencies ```json "@ant-design/icons": "^4.3.0", "antd": "^4.9.4", ``` - import @ant-design/icons in app.tsx ```js import { SettingOutlined } from '@ant-design/icons'; // ... const App = () => { return (...