跳到主要内容
CNode

nodejs中有拦截器吗?

社区
Ccyy0418发布于 12 年前最后回复 12 年前
1191860

nodejs中有没有类似JAVA的拦截器功能,我想实现数据增删改查都先经过这个过滤器。

想对用户对数据的操作记录,都记录到数据库里,不知道怎么实现?

查看回复

回复 (11)

S
solqkwgkwg#1112 年前

ex 的中间件,切入点是HTTP 请求接收里,如果我在业务处理中如何使用? 中间件看功能实现是多个拦截一个,有处理排序问题 一般拦截是一对一的 有兴趣看看我写的AOP

S
solqkwgkwg#1012 年前
T
tulayang#912 年前
引用 tulayangcompose (filter(data)) 写个filter函数还需要用到库吗

@cyy0418 这个很简单,只需要2个变量记录操作前的数据和操作后的数据,不需要依赖封装。

操作数据的函数可以定义为: compose(dataA), 返回dataA, dataB.

function compose (dataA) {
  // 过滤dataA
  // 得到dataB
  return { dataA: dataA, dataB: dataB };
}

或者也可以定义多态过滤的版本

function  compose (dataA, f) {  // f为多态过滤函数
  // f(dataA), 过滤dataA;
  // 得到dataB
  return { dataA: dataA, dataB: dataB };
}
C
cyy0418#812 年前
引用 tulayangcompose (filter(data)) 写个filter函数还需要用到库吗

@tulayang 我想达到的效果是

比如用户操作来数据data,为我想对它这个操作加个过滤器,这个过滤器可以获取用户操作前的数据,和修改后的数据。 类似与监听事件了

J
JacksonTian#712 年前

中间件就是拦截器

T
tulayang#612 年前
引用 tulayangcompose (filter(data)) 写个filter函数还需要用到库吗

@cyy0418 function filter (data) { // 操作data代码 return 过滤后的data; }

或者filter(data, compose)异步运行

function filter (data, f) {
    // 操作data
    f.call(null,   过滤后的data);
} 
X
xiaobaicai#512 年前

同求 我也很想知道 类似ASP.NET MVC的过滤器

X
xiuxu123#412 年前

如果你使用express,中间件就是“拦截器”

C
cyy0418#312 年前
引用 tulayangcompose (filter(data)) 写个filter函数还需要用到库吗

我需要获取操作前的数据,和操作后的数据,该怎么做呢?

Y
youxiachai#212 年前

express 的中间件机制就是..这个

T
tulayang#112 年前

compose (filter(data))

写个filter函数还需要用到库吗

参与回复

登录后即可参与回复。登录