next
node.js で多くの使用が見られます。
それは何ですか、それはどこから来たのですか?それは何をするためのものか?クライアント側で使用できますか?
申し訳ありませんが、たとえばここで使用されています: http://dailyjs.com/2010/12/06/node-tutorial-5/
loadUser 関数を探します。
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) {
// ...
});
関数は、 name にバインドされている 3 番目のloadUser
引数に関数を想定していますnext
。これは通常の関数パラメーターです。次に実行するアクションへの参照を保持し、loadUser
(ユーザーが見つからない場合を除いて) 完了すると呼び出されます。
next
この例の名前に特別なことは何もありません。どんな名前でもかまいませんでした。
これは、アクションのシリアル実行が必要な状況でコールバックを渡すときに使用される命名規則です。たとえば、ディレクトリのスキャン -> ファイル データの読み取り -> データで何かを実行します。これは、コールバックを深くネストするより優先されます。Tim Caswell のHowToNodeブログの次の記事の最初の 3 つのセクションでは、この概要がよく説明されています。
http://howtonode.org/control-flow
その投稿の 2 番目の部分の順次アクションのセクションも参照してください。