2014-04-16 4 views
0

어떻게 나는 내가 반복해서 사용할 수있는 기능으로 다음과 같은 반환 할 수 있습니다 정의되지 않은 몽구스이 나를 정의되지 않은 제공NodeJS가 : 반환 정적은

pageSchema.statics.getData = function(d) { 
    this.findOne({}, {}, { sort: { 'order' : -1 } }, function(err, page) { 
     return page[d]; 
    }); 
}; 

.

그리고이 기능을 사용하고 싶습니다. 어디에서 페이지 속성 순서를 얻을 수 있습니까?

Page.getData('order'); 

하나의 숫자가 될 수 있습니다.

답변

1

동기 함수에서 비동기 결과를 반환 할 수 없습니다. 함수에 호출자에게 결과를 제공하려면 콜백 매개 변수가 있어야합니다.

pageSchema.statics.getData = function(d, callback) { 
    this.findOne({}, {}, { sort: { 'order' : -1 } }, function(err, page) { 
     callback(page[d]); 
    }); 
}; 

Page.getData('order', function(data) { ... }); 
+0

대답 해 주셔서 감사합니다. :) 제가 할 수있는 일을보기 위해 주변을 둘러보고 있습니다. – aventic

관련 문제