2013-07-31 60 views
0

我有以下代码:值的变量的变空节点JS

为(在workload.elements VAR指数) { 变种ARR = []; var resourceIdentifiers = {}; var elementinfo = {}; var metadataModified = {};

 elementinfo = workload.elements[index]; 


     arr[index] = workload.elements[index].uri; 
     if(workload.elements[index].parameters.imageUri) 
     { 
      arr.push(workload.elements[index].parameters.imageUri); 
     } 
     resourceIdentifiers = arr.join(','); 
     console.log('uri' + resourceIdentifiers); 

     // connects with mysql and fetch data 
     mysql.elementlevelpricing(resourceIdentifiers, function(result){ 

     elementlevelpricingSummary = JSON.stringify(result,null,2); 
     console.log('resultin' + elementlevelpricingSummary); 

     }); 

     console.log('resultout' + JSON.stringify(elementlevelpricingSummary,null,2)) 

    } 

可变elementlevelpricingSummary的值变成空的,因为{}当被调用的函数mysql.elementlevelpricing外部访问()。

+0

你是否在执行它之前在函数外部设置变量elementlevelpricingSummary? – guiligan

回答

2

传递给mysql.elementlevelpricing的函数是一个异步回调函数,所以它实际上在它下面的console.log行之后运行。你会想在回调本身中做任何你需要的数据。

+0

我以类似于C#的方式思考了节点js – Prem

+0

我如何从上面的异步调用 – Prem

+0

@Prem构建一个数组我不确定你在问什么。你应该打开另一个关于它的问题。 –