0

I want to push all volume to "klht" array but its not work, "klht" return no object. "dataViewerFirst" is response from server, console.log('vol '+volume) had value. But console.log('v '+klht) return no object Please help me solve the code if you can. That is my gratitude to you. Thank in advanced.

var klht = [];
dataViewerFirst.forEach(obj => {
    var externalId = obj.externalId;
    var _projectName = obj.projectName;
    var status = obj.status;
    if(externalId !== null && externalId !== undefined && _projectName === projectName && status === 1){
        
        viewer.model.getExternalIdMapping(data => first(data));
        async function first(data){
            dbId = data[externalId];
            await new Promise((resolve, reject) => {
                viewer.getProperties(dbId, function(e){
                    var propertiesObj = e.properties;
                    propertiesObj.forEach(myF);
                    function myF(obj){
                        if(obj.displayName === "Volume"){
                            var volume = obj.displayValue;
                            klht.push(volume);
                            console.log('vol '+volume);
                        }
                    }
                    return resolve();
                });
                
            })
            //return resolve();
        }
    }
})
console.log('v '+klht);
Hoz.Coder
  • 13
  • 4
  • 1
    Convert all callback functions (getExternalIdMapping, getProperties) to Promise functions. User for-loop instead of forEach – hoangdv Feb 05 '21 at 09:36
  • Thank for your comment. But I'm new in javascript, please write code because i can't write correct. Thank in advanced – Hoz.Coder Feb 05 '21 at 09:59
  • 1
    what does `viewer.model.getExternalIdMapping` do? It's not related to the rest of your code, i.e. its return value does not depend on `obj`. So why is it called for every `obj`? – Tomalak Feb 05 '21 at 10:28
  • Do you need something like this - https://codesandbox.io/s/code-snippets-w82ue?file=/src/index.js:300-578? – Darshna Rekha Feb 05 '21 at 10:46

0 Answers0