2017-10-05 3 views
-2

(내부 함수) 내 함수를 호출하고 있는데 out 함수에 내부 함수의 결과가 필요합니다.Node.js 여러 함수 호출

예 :

var value; 
database.query1(param1, param2, function(err, outerResults) { 
    if (outerResults == null) { 
     database.query2(params1, params2, function(err, innerResults) { 
      value = innerResults; 
     }); 
     console.info(value); // I am not able to get the value of this innerResults outside the function 
    } 
}); 
+0

https://docs.nodejitsu.com/articles/getting- 시작/제어 흐름/what-are-callbacks / – Maxim

답변

0

당신은 약속을 사용할 수 있습니다, 다음이 코드에 고유하지만, 당신이 사용할 수있는 primisefy

var value ; 

Promise.resolve() 
.then(
    x => 
    new Promise((resolve,reject)=>{ 
     database.query1(
     param1,param2 
     ,function(err,outerResults) { 
      if (outerResults === null) { 
      database.query2(
       params1,params2 
       ,function(err, innerResults) { 
       if(err){ 
        reject("Unable to resolve outer or inner query"); 
        return; 
       } 
       resolve(innerResults); 
      }); 
      }else{ 
      resolve(outerResults); 
      } 
     }); 
    }) 
) 
.then(result => { 
    console.log("got results:",results) 
}) 
.then(null,reject =>{ 
    console.error(reject); 
})