Bjo*_*ndt 5 javascript google-apps-script
我无法弄清楚为什么会向我抛出此错误,因为它是随机的:
SyntaxError:对象文字中的意外令牌
它是我用来从缓存中获取标签的功能的一部分。如果我从头开始重新加载脚本而不做任何其他操作,它将可以正常工作。然后由于某种原因,我无法为其找到任何触发器,它将停止在该行上工作。labels = JSON.parse(labels); 我最好的猜测是缓存上存在超时,但是当我记录标签变量时,两者之间没有任何区别(我发现)。
ps我也愿意采用其他方法轻松完成标签的粘贴。
var labels = function() {
var labels = CacheService.getPrivateCache().get('labels');
if (!labels) {
labels = PropertiesService.getDocumentProperties().getProperty('labels');
CacheService.getPrivateCache().put('labels', labels, 660);
}
if (labels) {
labels = JSON.parse(labels);
} else {
// Something went wrong
Browser.msgBox("Something went wrong, please reinstall")
}
return labels;
}
function testcache() {
// var labels = this.labels();
var dropBoxLabels = this.labels().dropBoxes;
var dropBoxLabel = this.labels().dropBox;
var periodLabel = this.labels().period;
var editLabel = this.labels().edit;
var viewLabel = this.labels().view;
var teacherLabel = this.labels().teacher;
Logger.log("");
}
Run Code Online (Sandbox Code Playgroud)
如果这是触发器的一部分,则很可能该变量labels以某种方式被分配了触发器数据。错误:
语法错误:对象文字中出现意外标记
意味着您正在尝试使用 JSON 解析 javascript 对象文字;即,您不需要执行JSON.parse(). 您可以做的是console.log(labels);了解该对象的外观。唯一的事情是,要使其发挥作用,您需要确保您的 appscript 项目位于 GCP 项目下,并且不受 appscript 仪表板管理。
| 归档时间: |
|
| 查看次数: |
1464 次 |
| 最近记录: |