2013-10-18 5 views
3
function add(post) 
{ 
    var word = new KeyWord({ keyword: post.keyword});  
    word.save(function (err, word) 
    { 
     if(err) 
     { 
      if(err.code==11000) 
       return post.keyword + ' is already added.'; 
     } 
     else 
      return 'Added : ' + post.keyword; 
    }); 
} 

추가 기능의 반환 값을 읽으려고하면 아무 것도 반환하지 않습니다.
또한 메시지를 변수에 넣으려고 할 때 외부에서 그 메시지를 반환 할 때 null 값을 제공합니다.node.js의 콜백 함수에서 루트 함수로 문자열을 반환하려면 어떻게해야합니까?

답변

6

간단히 말하면 이 아닙니다.

function add(post, callback) { 
    var word = new KeyWord({keyword: post.keyword});  
    word.save(function(err, word) { 
    if (err) { 
     if (err.code==11000) callback(post.keyword + ' is already added.'); 
     else callback('Added : ' + post.keyword); 
    } 
    }); 
} 

당신은 다음과 같은 기능을 사용하십시오 : : 이런 함수에서 값을 얻으려면, 당신은 콜백 사용해야합니다

add(post, function(result) { 
    // return value is here 
}); 
+1

감사의 친구를 .... –

관련 문제