Tag: 装饰器

如何使用babel为我的js服务模块实现已validation的es 7装饰器

我在装饰阶段使用babel:0在我的stream量通量js项目的支持,我想使用我的服务API模块validation装饰检查有效的用户会话。 谷歌search,似乎有几个职位,解释不同的变化,但无法find一个权威的文档或指导。 这是我到目前为止所尝试的,我知道我的authentication函数的参数是不正确的,不知道是否需要为我的模块实现一个类,而不是只使用exports对象。 我无法find文档的部分是如何实现装饰器本身 – 在这种情况下,装饰函数将接收并检查它的req参数。 // how do I change this method so that it can be implemented as a decorator function checkAuthenticated(req) { if (!req.session || !req.session.username) { throw new Error('unauthenticated'); } } module.exports = { @checkAuthenticated read: function(req, resource, params, serviceConfig, callback) { //@authenticated decorator should allow me to move this out […]

nodejs函数中的域error handling程序装饰器

我正在尝试为我的节点js函数编写一个装饰器。 就像是 'Test func a': custom_decorator( func(x)){ .. .. .. }) 假设我想为我的函数添加域error handling程序,我想抽象域error handling到我所有的function.. var d = domain.create().on('error', function(err) { console.error(…); }); d.enter(); "My function" d.exit() 我想将error handling移动到一个装饰器,以便函数作者可以使用它来调用它 function_name : errorDecorator(fn)

从Python框架expressionJS装饰器模式的等价物

使用Express js编写一个简单的NodeJS webservice。 我历史上是一个python人。 在像Django或Flask这样的框架中,通常只能在特定的端点上看到Python装饰器用于从插件实现逻辑。 这种模式的例子可以在这里看到。 http://pythonhosted.org/Flask-Classy/#using-multiple-routes-for-a-single-view 我正在使用Express中间件,并且使用3-parity函数可以很好地工作,但是这仅与每个请求的逻辑执行相关。 我希望允许插件的最终用户仅在特定端点上运行我的逻辑(已经在单独的函数中)的包裹,类似于上面源代码中概述的模式。 这些包装器的一些configuration将在应用程序启动时传递。 最好的办法是什么? 我是否应该用实际路由处理器作为参数来模拟这种模式,并在最后返回? 像这样的东西? function pluginWrapper(endptFunc){ //plugin logic here return endptFunc; } app.get('/endpt', pluginWrapper(function(req,res,next){ //endpt logic here res.end() }));