我为Adobe Illustrator做了一个脚本。但我有个问题我需要一些功能来应用一步一步(异步)。这些职能是:prepareToScript、selectTextObjects、mergeTextObjects、moveNamesToNewLayer或leaveNamesOnCurrentLayer。有可能吗?下面是代码的一部分:
function runThisScript() {
var doc = app.activeDocument;
doc.selection = null;
var layer = doc.activeLayer;
var layer = doc.layers.getByName("Layer 1");
doc.activeLayer = layer;
prepareToScript();
selectTextObjects();
mergeTextObjects();
if (processAllChk.value) {
processAllNames();
app.preferences.setStringPreference(allKey, "true");
}
if (moveNamesChk.value) {
moveNamesToNewLayer();
} else {
if (!wasTrans) {
leaveNamesOnCurrentLayer();
}
moveNamesToNewLayer();
}
}
我试过回调和等待。要么我做错了什么,要么它们在Adobe Illustrator中不起作用。
2条答案
按热度按时间3phpmpom1#
如果你指的是经典的Extendscript(Adobe遗留的JavaScript变体,jsx文件),答案是“否”。它没有async/await函数。
如果你指的是新的UPX脚本,那就是另一回事了。但是,据我所知,UPX目前不支持Adobe Illustrator:https://community.adobe.com/t5/illustrator-discussions/when-will-adobe-uxp-for-illustrator-be-released/td-p/13473663
如果你指的是CEP面板的脚本,有现代的Javascript,但它只在CEP界面内工作。一旦您需要访问文档中的图形,您就必须再次调用经典的Extendscript脚本,包括它的所有限制。
0aydgbwb2#
await
仅适用于async
函数。尝试在function
关键字之前写入async
。