首页 > 解决方案 > 获取函数表单文件 gs 的值返回以在函数文件脚本中使用

问题描述

我有 2 个文件,1 个代码 .gs 文件和 1 个 .html 文件。我想在文件 gs 中获取函数的值返回并在函数文件 html 脚本中调用它?


funcs.gs 文件中的代码:

function func1(){

  var ss =  SpreadsheetApp.openByUrl(urldb);
  var ws =  ss.getSheetByName("SettingAccount");
  var data = ws.getDataRange().getValues();

  return data;

}

function func2(){

  var ss =  SpreadsheetApp.openByUrl(urldb);
  var ws =  ss.getSheetByName("SettingAccount");
  var data = ws.getDataRange().getValues();

  return data;

}

文件 index.html 中的代码:

<script>

google.script.run.withSuccessHandler(showValue).func1();

function showValue(data){

var list = google.script.run.func2();

}

</script>

结果列表->“未定义”

我想在函数“showValue”中使用“func2”的值,有人可以帮忙吗?

标签: javascriptgoogle-apps-script

解决方案


您正确调用了第一个函数:

google.script.run.withSuccessHandler(showValue).func1();

这将调用 showValue(data) 并且 data 参数将填充 func1() 的返回值。

您的第二次调用不正确 - 来自 google.script.run.func2() 的返回值不是来自 func2() 的返回值。您可以通过提供 withSuccessHandler 来从 func2 获取返回值,就像在调用 func1 时所做的那样。

只需将其更改为以相同的方式运行:

function showValue(data){

   google.script.run.withSuccessHandler(function(list) {

     // do something with the list here

   }).func2();

}

推荐阅读