0

我以前从未遇到过extendscript 的这个问题,我认为extendscript 是同步的。我正在通过一个数组循环:对于数组中的每个对象,我正在打开、读取和更新一个 xml,然后将其导入 PPro。我认为循环完成的速度比文件更新和导入快——没有文件被导入。

如果我alert(array[i])每次一切正常,但一旦我注释掉警报,文件就不再导入。

function importXML(targetFile){
    app.project.importFiles([targetFile], 1); // 1 == suppress UI
    updateEventPanel('Media imported for ' + show);
    return 'success';
}


function processXML(obj){
    var shows = obj.shows;
    // alert(shows.length);

    var currentShow = obj.shows[0];

    for(var i = 0; i < shows.length-1; i++){
        var xmlDoc = obj.targetXml;
        var show = obj.shows[i+1];
        // alert('currentShow: ' + currentShow);
        // alert('show: ' + show);

        var currentValue1 = new RegExp('<Name>'+ currentShow, 'g');
        var currentValue2 = new RegExp('HIGHLIGHT_VERSIONING/'+ currentShow, 'g');
        var newValue1 = '<Name>'+ show;
        var newValue2 = 'HIGHLIGHT_VERSIONING/'+ show;

        var myFile = new File(xmlDoc);
            myFile.open('e', undefined, undefined);

        var inText = myFile.read();
            inText = inText
                .replace(currentValue1, newValue1)
                .replace(currentValue2, newValue2);

        myFile.seek(0);
        myFile.write(inText);
        myFile.close();

        updateEventPanel('XML updated for ' + show);

        importXML(xmlDoc);
        // updateEventPanel('Media imported for ' + show);

        currentShow = show;
    };
}
4

1 回答 1

1

在从静态 csv 文件读取数据之前,我遇到了类似的问题......我有一个用于 scriptUI 下拉菜单的 onChange 事件,但它们只会填充一半,就像它在读取中途超时一样。我去寻找一个类似 settimeout 的函数,我发现 ESTK 有一个 $.sleep() 方法来添加延迟:

sleep()
$.sleep(milliseconds)

milliseconds    
The number of milliseconds to wait.
Suspends the calling thread for the given number of milliseconds.

During a sleep period, checks at 100 millisecond intervals to see 
whether the sleep should be terminated. This can happen if there is 
a break request, or if the script timeout has expired.

Returns: undefined

您可以在 aenhancers estk 文档中阅读有关美元对象的所有信息:https ://estk.aenhancers.com/8%20-%20ExtendScript%20Tools%20and%20Features/dollar-object.html

于 2019-08-12T10:21:09.487 回答