2016-09-30 2 views
0

Node.js를 동일 파일 내에서 기능의 환경 변수를 가져옵니다하지만 난 변수
나는이 코드를 시도

var haveemail = 0; 

collection.count({email: req.body.email}, function (error, count,callback)     { 
    console.log(count); 
    haveemail = count; 
}); 
console.log(haveemail) 

답변

0

Node.js를의 값을 얻을 수없는 그 직후 collection.count() 시작을 의미하는 비동기식으로 작동 실행 중일 때 console.log() 호출이 시작됩니다. 대부분의 경우 호출이 끝나기 전과 변수가 설정되기 전에 발생합니다.

당신은 haveemail 변수가 설정된 후 발생 확인, 콜백 내부에 CONSOLE.LOG 호출을 이동해야합니다 :

var haveemail = 0; 

collection.count({email: req.body.email}, function (error, count,callback) 
{ 
    console.log(count); 
    haveemail = count; 
    console.log(haveemail); 
}); 
+0

난, 당신과 동의 실제로 내가 측면 collection.count 먹으 렴을 값을 계산하려면 내가 왜 haveemail에 카운트 값을 저장하지만 나는 그것을 얻을 수 없다. – Dharmesh7980

+0

@ Dharmesh7980 - 당신이 함수 밖에서이 변수로 무엇을 하든지간에 - 내부에서 그것을 수행하거나'promises' 또는'async' 라이브러리를 사용해야한다. 그렇지 않으면 시간에 맞춰 세울 수 없습니다. 이 안내서를 참조하십시오. https://blog.risingstack.com/node-hero-async-programming-in-node-js/ –