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) {
// ...
});
이 loadUser
함수는 세 번째 인수에서 name으로 바인딩 된 함수를 예상합니다 next
. 이것은 정상적인 기능 매개 변수입니다. 수행 할 다음 조치에 대한 참조를 보유하며 한 번 loadUser
완료 되면 호출 됩니다 (사용자를 찾을 수없는 경우 제외).
next
이 예제 에서는 이름 에 특별한 것이 없습니다 . 우리는 무엇이든 지명 할 수있었습니다.
.next()
. 그는 next
물건에 대한 방법으로 묻고있는 것 같습니다 .
return next();
return callback()
대신에 사용return next()
스캔 디렉토리-> 파일 데이터 읽기-> 데이터로 무언가를 수행하는 등 일련의 동작을 수행해야하는 상황에서 콜백을 전달할 때 사용되는 명명 규칙입니다. 콜백을 깊게 중첩하는 것이 좋습니다. Tim Caswell의 HowToNode 블로그 에 대한 다음 기사의 첫 세 섹션은 이에 대한 개요를 제공합니다.
http://howtonode.org/control-flow
해당 게시물의 두 번째 부분에 있는 순차 작업 섹션 도 참조하십시오 .
기본적으로 코드의 특정 부분이 실행되고 완료된 후 express.js가 사용 하는 콜백과 같습니다. 코드의 일부가 수행되고 다음에 수행하려는 작업을 확인하는 데 항상 사용할 수 있지만 항상주의해야합니다. res.send
각 REST 블록 에서 하나 를 수행하십시오 ...
간단한 next()
예제 로 다음과 같은 작업을 수행 할 수 있습니다 .
app.get("/", (req, res, next) => {
console.log("req:", req, "res:", res);
res.send(["data": "whatever"]);
next();
},(req, res) =>
console.log("it's all done!");
);
앱에 미들웨어를 갖고 싶을 때도 매우 유용합니다 ...
미들웨어 함수를로드하려면 미들웨어 함수를 지정하여 app.use ()를 호출하십시오. 예를 들어 다음 코드는 루트 경로 (/) 로의 경로 이전에 myLogger 미들웨어 함수를로드합니다.
var express = require('express');
var app = express();
var myLogger = function (req, res, next) {
console.log('LOGGED');
next();
}
app.use(myLogger);
app.get('/', function (req, res) {
res.send('Hello World!');
})
app.listen(3000);