Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 作为全局变量返回范围Google sheets脚本_Javascript_Google Apps Script_Google Sheets_Global Variables - Fatal编程技术网

Javascript 作为全局变量返回范围Google sheets脚本

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);

我试图创建一个解析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')
是Essentaly
SpreadsheetApp.getActive().getDataRange().getDisplayValues()

然后在另一个函数中,我想使用

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

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

最小可复制示例:
如果执行
myotherfunction
GETELEMENTS()
行之后,
数据将具有定义的值
IGETELEMENTS()

中定义的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!

}