将range作为全局变量Google表单脚本返回



我正在尝试创建一个解析json数据的全局变量。

我想在其他函数中使用全局变量

json解析非常有效,但我在全局变量创建方面运气不佳

async function GETELEMENTS(url) {
var response = await UrlFetchApp.fetch(url);
var responseText = await response.getContentText();
var responseJson = JSON.parse(responseText);
var elementKeys = Object.keys(responseJson.elements[0]);

var data = responseJson.elements.map(e => elementKeys.map(f => {
return e[f] instanceof Array ? e[f].join('|') : e[f];
}));
data.unshift(elementKeys);

if(data.length==0)
return;

}

var cache = CacheService.getScriptCache();
cache.put('A', data);
var cache = CacheService.getPublicCache();
return data;
}

其中CCD_ 1本质上是返回数据的CCD_

然后在另一个功能中,我想使用

myotherfunction(cache.get('A'));

您可以在每个函数的外部声明data,它将自动成为全局变量。

可重复性最小的示例:

var data;
function GETELEMENTS() {
data = 'I was defined!';
}

function myotherfunction(){
Logger.log(data); // -> output: null
GETELEMENTS();
Logger.log(data); // -> output: I was defined!
}

如果执行myotherfunction在行GETELEMENTS()之后,data将具有在GETELEMENTS()中定义的值I was defined!

最新更新