1. ホーム
  2. javascript

[解決済み] javascript node.js next()

2022-03-12 08:45:56

質問

をよく見かけます。 next をnode.jsで使用しています。

それは何ですか、どこから来たのですか?それは何をするものですか?クライアントサイドで使用できますか?

ここでは例として使わせていただきます。 http://dailyjs.com/2010/12/06/node-tutorial-5/

loadUser関数を探してください。

解決方法は?

これは、Node.jsのコントロールフロー・コードにおける変数の命名規則と思われ、次に実行する関数への参照がコールバックに与えられ、それが終了したときにキックオフするようになっています。

例えば、こちらのコードサンプルをご覧ください。

投稿された例を見てみましょう。

function loadUser(req, res, next) {
  if (req.session.user_id) {
    User.findById(req.session.user_id, function(user) {
      if (user) {
        req.currentUser = user;
        return next();
      } else {
        res.redirect('/sessions/new');
      }
    });
  } else {
    res.redirect('/sessions/new');
  }
}

app.get('/documents.:format?', loadUser, function(req, res) {
  // ...
});

loadUser 関数は第三引数に関数を期待します。 next . これは通常の関数パラメータです。これは次に実行されるアクションへの参照を保持し,一度だけ呼び出されます。 loadUser が行われた場合(ユーザが見つからなかった場合を除く)。

という名前に特別な意味はありません。 next この例では、どんな名前でもよかったのです。