Javascript 作为全局变量返回范围Google sheets脚本
我试图创建一个解析json数据的全局变量 我想在其他函数中使用全局变量 json解析工作得很好,但我在创建全局变量方面没有什么运气Javascript 作为全局变量返回范围Google sheets脚本,javascript,google-apps-script,google-sheets,global-variables,Javascript,Google Apps Script,Google Sheets,Global Variables,我试图创建一个解析json数据的全局变量 我想在其他函数中使用全局变量 json解析工作得很好,但我在创建全局变量方面没有什么运气 async function GETELEMENTS(url) { var response = await UrlFetchApp.fetch(url); var responseText = await response.getContentText(); var responseJson = JSON.parse(responseText);
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;
}
其中,cache.get('A')
是EssentalySpreadsheetApp.getActive().getDataRange().getDisplayValues()返回数据的代码>
然后在另一个函数中,我想使用
myotherfunction(cache.get('A'));
您可以在每个函数的外部声明数据
,它将自动成为一个全局变量
最小可复制示例:
如果执行myotherfunction
,在GETELEMENTS()
行之后,数据将具有定义的值I在GETELEMENTS()
中定义的code>可以在每个函数的
外部声明数据
,它将自动成为一个全局变量
最小可复制示例:
如果执行myotherfunction
,在GETELEMENTS()
行之后,数据将具有定义的值I代码>在GETELEMENTS()
中定义……什么不适用于您当前的方法?……什么不适用于您当前的方法?
var data;
function GETELEMENTS() {
data = 'I was defined!';
}
function myotherfunction(){
Logger.log(data); // -> output: null
GETELEMENTS();
Logger.log(data); // -> output: I was defined!
}