我有以下代码:
for(work.elements中的var index) { 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))
}
当在被调用函数mysql.elementlevelpricing()之外访问时,变量elementlevelpricingSummary的值变为空{}。
答案 0 :(得分:2)
传递给mysql.elementlevelpricing
的函数是一个异步回调函数,因此它实际上是在它下面的console.log
行之后运行的。您需要在回调本身中执行任何需要数据的操作。