在此循环中需要回调吗?

时间:2018-09-11 17:14:03

标签: javascript xml loops foreach callback

我成功地搜索和替换了xml中的内容,然后为单个实例导入了xml,但是当我尝试引入数组时,它失败了。我认为它正在尝试在完成修改之前导入xml。我是否需要一个回调,如果需要,我可以得到一些构造回调的帮助吗? -我在解决回调问题时遇到了麻烦。

$('#btn-version_sot').on('click', function(){
    csInterface.evalScript('exportXML('+ JSON.stringify(profile_sot.xmlDirectory) +')',
        function(result){

            profile_sot.targetXml = result;

            let currentShow = 'show1';
            let shows = ['show2', 'show3', 'show4'];

            shows.forEach(function(show, index, array) {
            
                let currentValue1 = new RegExp('<name>'+ currentShow + '<\/name>', 'g');
                let newValue1 = '<name>'+ show + '</name>';

                const res = fs.readFileSync(profile_sot.targetXml, 'utf-8')
                    .replace(currentValue1, newValue1)

                fs.writeFile(profile_sot.targetXml, res, 'utf-8', function (err) {
                    if (err){
                        alert(err);
                    }
                    else{
                        currentShow = show;
                        importXML();
                    }
                });
            });
        }
    );
});


function importXML(){
    csInterface.evalScript('importXML('+ JSON.stringify(profile_sot.targetXml) +')',
        function(result){
            if(result){
                // alert(result);
            }
        }
    );
}

0 个答案:

没有答案