HtmlService加载异步示例代码

时间:2013-10-31 17:20:47

标签: javascript jquery html google-apps-script

HtmlService docs async sample code ...

在页面加载后,参数things如何传递到函数showThings(things)

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

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

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

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

2 个答案:

答案 0 :(得分:1)

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

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

以下是withSuccessHandler documentation所说的内容:

  

因为客户端代码没有等待就继续到下一行   要完成服务器调用,google.script API允许您   指定在服务器响应时运行的另一个客户端函数。   如果服务器函数返回值,则API将值传递给   新函数作为参数。

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

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

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

答案 1 :(得分:0)

我认为这可能是个错误。

它仍然可以工作,请看这个例子:

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

从代码中可以看出things的价值是什么,或者来自何处。