asynchronous callback within for loop - node js

The asynchronous callback within for loop of node js creates issue:

for(var index in 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);

    mysql.elementlevelpricing(resourceIdentifiers, function(result){

        elementlevelpricingSummary = result;

        metadataModified = workload.elements[index].metadata;

        metadataModified.newitem = elementlevelpricingSummary;

        delete elementinfo.metadata;

        elementinfo.metadata = metadataModified;

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

    });
}

In the above code , the workloads.elements is the array containing more than one value. But i get callback result for only one of the values.