0

我有以下代码:

for(workload.elements 中的变量索引) { var arr = []; var resourceIdentifiers = {}; 变量元素信息 = {}; 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 的值变为空 {}。

4

1 回答 1

2

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

于 2013-07-31T17:09:12.530 回答