0

HtmlService 文档异步示例代码中......

页面加载后如何将参数things传递给函数?showThings(things)

按原样运行,html 列表将被清空。

在我的 Code.gs 中,我添加了...

function getLotsOfThings() {
  return [1,2,3];
}

但它不会传递或存储结果,因此showThings()可以使用它。

4

2 回答 2

1

内置google.script.run为我们做这件事。

您可以认为 Apps Script 平台获取您的服务器端函数的返回值,JSON.stringify然后JSON.parse在客户端正常进行。并且由于withSuccessHandler接收到您的返回函数,因此运行它并传递参数很容易。如Frits 所示

这是withSuccessHandler 文档中的内容:

由于客户端代码无需等待服务器调用完成即可继续下一行,因此 google.script API 允许您指定另一个客户端函数以在服务器响应时运行。如果服务器函数返回一个值,API 将该值作为参数传递给新函数。

顺便说一句,代码示例对我来说工作得很好。你有什么问题吗?这是我使用的代码(加上示例确切的 html 文件,我称之为“页面”):

function doGet() {
  return HtmlService.createHtmlOutputFromFile('page');
}

function getLotsOfThings() {
  return [1,2,3];
}
于 2013-11-01T15:43:54.900 回答
0

我认为这可能是一个错误。

但它仍然可以工作,请参见以下示例:

function foo(arg) {
    console.log(arg);
}
function run(callback) {
    callback("bar");
}
run(foo); // "bar"

从代码来看,它的价值things是什么或它来自哪里并不明显。

于 2013-10-31T17:23:59.940 回答