Javascript Node.js多个函数调用
我在调用另一个函数(内部函数)中的函数,我需要将内部函数的结果传递给out函数 例如:Javascript Node.js多个函数调用,javascript,node.js,Javascript,Node.js,我在调用另一个函数(内部函数)中的函数,我需要将内部函数的结果传递给out函数 例如: var value; database.query1(param1, param2, function(err, outerResults) { if (outerResults == null) { database.query2(params1, params2, function(err, innerResults) { value = innerResu
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
}
});
您可以使用承诺,以下是特定于您的代码的,但您可以使用
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);
})