[英]Why can't I use Function.prototype.apply on Express' app.use?
我只是注意到例如app.use.apply(null, ['/', f => f]);
会抛出TypeError
TypeError: Cannot read property 'lazyrouter' of null
at use (node_modules/express/lib/application.js:214:7)
假设我的快速应用程序实例已正确设置,我在做什么错? 我认为那是适当的错误吗? app.use([path], cb)
http://expressjs.com/en/guide/using-middleware.html
该apply()
将改变this
在function.For的app.use()
在this
直接向实例app
,但你将其设置为null
,而且没有use
安装在功能特性null
,所以扔了错误。
当将函数作为对象的方法调用时,例如app.use([path], cb)
,在函数调用内, this
关键字将绑定到对象。 apply
的第一个参数是您要提供的this
绑定,因此您需要编写app.use.apply(app, ['/', f => f]);
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.