Closed nukosuke closed 8 years ago
次の時、authenicateメソッド内のthisがなぜかundefinedになる。
// user-controller.js // class UserController constructor(opts) { super(opts); } authenticate(req, res, next) { this.opts.passport.authenticate('local', function(err, user, info) { ... } } // server/index.js var passport = require('passport'); new UserController({ passport: passport }); //<= opts
expressのsetメソッドでサーバにpassportを突っ込んで以下のように対処しているが、あまりよろしくない。
authenticate(req, res, next) { req.app.get('passport').authenticate('local', function(err, user, info) { ... } }
コンストラクタが呼ばれないとそもそもauthenticateメソッドは呼べないので、順序的には問題ないと思うんだが、う〜ん...
thisをbindする必要があるらしい http://qiita.com/massa142/items/16d51b32c12542476b91
次の時、authenicateメソッド内のthisがなぜかundefinedになる。
expressのsetメソッドでサーバにpassportを突っ込んで以下のように対処しているが、あまりよろしくない。
コンストラクタが呼ばれないとそもそもauthenticateメソッドは呼べないので、順序的には問題ないと思うんだが、う〜ん...