1

次のコードがあります(簡略化):

function(req, res) {
  var path = 'login';

  req.on('end', function(data) {
    var post = parsevars(rawpost, '&');
    if (typeof post.username !== 'undefined' && typeof post.password !== 'undefined') {
      if (handlelogin(post.username, post.password))
        path = req.url;
    }
  });
}

太字部分は、期待どおりに機能しない部分です:/
このスコープの制限を回避する方法についての入力は素晴らしいでしょう。

4

2 に答える 2

2

それは機能しました。イベントハンドラーの前に実行された後のコードです。

于 2012-04-28T19:49:00.993 に答える
0

奇妙なことに、それはクロージャーの外側の範囲にあるのでうまくいくはずです。req

ただし、現在はコールバック内でreqも利用できることがわかると思います。つまり、次のようになります。this

path = this.url;
于 2012-04-28T19:44:27.523 に答える