为了账号安全,请及时绑定邮箱和手机立即绑定

将范围作为全局变量返回 Google 表格脚本

将范围作为全局变量返回 Google 表格脚本

拉丁的传说 2023-05-25 16:32:18
我正在尝试创建一个已解析的 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;}返回数据的cache.get('A')本质在 哪里SpreadsheetApp.getActive().getDataRange().getDisplayValues();然后在不同的功能中,我想使用myotherfunction(cache.get('A'));
查看完整描述

1 回答

?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

你可以在每个函数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值。I was defined!GETELEMENTS()


查看完整回答
反对 回复 2023-05-25
  • 1 回答
  • 0 关注
  • 97 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信