2
router.get('/:username', function(req, res, next) {
res.render('dashboard');
});
router.get('/', function(req, res, next) {
if(req.user) // this has value
res.redirect('/'+req.user);
});
ユーザがログインしている場合、彼はexample.com/his_nameにリダイレクトされますが、example.com/undefinedになります。 console.log(req.user)を実行すると、値があります。どうして?express.jsの混乱を利用した動的URL
私はこれが役立つだろうかわかりません。 'if'条件を次の行にチェックするのに要するナノ秒未満で' rec.user'の変更が疑わしいです。 – vlaz
どういう意味ですか?それは変わるべきではない、それがポイントです。 – torus
あなたのソリューションは、3行目と4行目の間で変更される 'rec.user'からのみ保護し、条件をチェックし、' if'の本体を実行します。これは何も変わらないような極小の時間枠であり、さらに変更された場合、 'if(person.age> 18){/ * proceed * /}'のような大きな問題を抱えていますある時点で失敗する。あなたは 'rec.user'が一度だけ真実になり、その後' undefined' _immediately_に設定されると思いますか? – vlaz